From acfb01e92ef57342ed0a9edc5551783c870ae881 Mon Sep 17 00:00:00 2001 From: zhangxuxutm <951937200@qq.com> Date: Sun, 3 Sep 2023 19:25:26 +0800 Subject: [PATCH] 0903b --- Static/zhjt.ico | Bin 0 -> 28352 bytes UI/AreaSettingWidget.py | 6 +- UI/DelAreaWidget.py | 79 ++++++++++++++++++ UI/DeviceWidget.py | 6 +- UI/MainWindow.py | 3 + .../AreaSettingWidget.cpython-310.pyc | Bin 2106 -> 2347 bytes UI/__pycache__/DeviceWidget.cpython-310.pyc | Bin 2365 -> 2606 bytes 7 files changed, 90 insertions(+), 4 deletions(-) create mode 100644 Static/zhjt.ico create mode 100644 UI/DelAreaWidget.py diff --git a/Static/zhjt.ico b/Static/zhjt.ico new file mode 100644 index 0000000000000000000000000000000000000000..97e60a1e797bd685964fe206890c86db15dca750 GIT binary patch literal 28352 zcmcFqgL5X$*Ntu4HaB{bY;4=y*tX4$ZQHi(Z0ux{C&tG7^8WsZucoHEr>kqaX6p7m zx6eHd0s{Jdy}p8cmn0ySb|4^FARr)-it-YOaCmUvO++b4QRVOYdj!ZU4AgfSaiPus zU4c3)O9+FmPcZm@KfpRjYB_^|z@z_ngMwscb9*Jt-_ecf@dKM))miGbVT|DiG9MjB0r0ugGi zl;cbEJ%t6eDPbSo4Xk97tQIkNjxW>y`l=CTN(6FkgWN}}3f>P|7IJ(AzWY7;%e!y- zG<;9Ne%UMV0QjV5v|Nw~h{P|V>h5o~^I+lz4L!V?!^nA|k&ww(!muzAva2C;!=uP~ z!zG|g#_FbN0bWw6D(;a#Gz{{eu=6M+q$ezSo6g8`yr0qZJnjn{FNRYrG0Xh0TpnL` zkSpcC1SH$3U^`|0^kZA?XC%O7FFCRm%ct(gNV8rMultS zpHsARUY^9%@DGg?)VZQgOUoKu9OyTlX9o>bm z@5FU3kFG6PugR6!8dMem61W4XTKAviK|F=d9v+I$R~zsNq0~nAVcZ_>rJzJflk?G6 z$ZjI0hSZCNBG7Ka{ICDQL@W%E-#I^t5ZAnE`i<%Z+Y#0geMh?X?b${4{}C4%w$Q>K z$i#^}WEgDoy=m(V7N}@IdA*7UMJvMkDDXRNV~!Wne@_S8h?wA)uYsq3%p%T4+GUCi zpa!@HCrOaph|<+#pN|g|&6A4X(v|%B?0(3%`w&Frj!534Q4a*?^+@LshP+3C97xI) z3TUe?y##!(>cdo+m9 z(B1tVCWX$M)&!j-bh815-oib**wH3?tO}gmWNBLoY^Y>+qHA8{iP3h{PFYC89-LYX z=_0WL8i9V{XbJjqlEV_=Js2OfN`QKL$=_uOaCOWp#?xjfR*>_1vg9s&yBE+ubcze^d%&5{lYQ72X0 zO39x~2J83BsmESs==e`EO)I*FZXQkyMlbG*c@eGxSOS3R&9cR};dY`NWyCHEi=f`4 zy#@F1k!7yI$d6AN%S1EQ5;kU7j+k!iK zw%~jZT8)Zx(ViF}s0~|7b|HX|!3VKEMz!}m?&>ZYj!ssA{_2Nq>bVV2yV*EW z^zb&r@nNHefMQm#c(?F-{$x&*!1in9c-=FXIdB@TO7j1B8no~*Plesd{T0Gx9^P*v z@)vlbq#HMW$zWW~BjUFL{}Vp42jyC;YGTkho}r8X{MX(j2eul+2`Sinv0K7pw>2PDhMVnpaDGZ~jC zK`_&-8KYqnd1Fc&??<`^3d8ZCfwA-vn_m+ql(>qWybj{<#B64RWEDltlvb0gdR>lu zK6(2OE;2614?r&j1!3cmOSmBEAuoiMb(=$*X?8}x4l(WaObEyJ0bGc<2Y%*%fVH7$1n;U<|ICCO!Y zpvYG!hrT?+MGRs zZQ8)&k{nTEG>1CRwG%0v#nqR@Fd!5>AOlZIKUgHx@)v$-5^37#Zai=1ImLeo)y!in zRw0J^MY}+^Vpr@nMwR*aKW`K`S|(5<-tX;z~cfNqeCpx0}w{?K{myt#T(fO z3=u^VM&$OgkW`*V(qi@5gUBZLYS>m}_&DR{WLP=Yrw6!|h|sUacs{UbG+^uF;KFQg zgG;(*vODb)PGAwlO4=FUL6Y%s!>dtbSj2zM*hQe_-ogb)`97G@EA!~{p9*F7kJJ03%Tnb^x#QNl* z!f72%(Q;zcxSHVIVXlnNJ55sb@)?Q0!|=*BVDRB)M#v?MZQF67Fz+XSfke~^2sZYT z4y~PnnYGw=az+m7lT#l6l;Dcn?I?sEXSbUS)&hYe?q(BgiWl)oN#o8Wd~m$8-{`{o zEWiz(ON)LX=-N3hSE}?S3BoQ$StA_yxA!0@*rxRQ$va zUSHNl3SU$Vuqi!=^grJRA?$>A8hH3HK52?mHCIMQuOkv*=-brhgk^L$TeF%HW@qv93)?}Nlb7QB-1xM{_{QkAdr2lG4c&c6 zvh0MFBeMF_XMxo#;Kc1d(U`slTmqT@bxAV9&fUZaLB^$f<~V}kz@bl66F1QoozS#q zr1cqY!`c=DAO;z9XoxW+Gbn}36K{IzNC={`Kl-mpo3@aY<|2|CcCMr5v{220MUvMPss!~KEmR%jNS{h)IbBUQW(eS#6;k$ov z^38p@X0I1ZOVIX9EGXkBW(~K;9Iv-4*)EZZN69&tI5DJ`WZ;#F-Oh%KM>f~jr6xVh ztr%-7O>Ex% z3sDc*6}#V2&*Bq!ohshXJ`^P7SqEP6Z#ALUqsmKOCW`03mtj=Of9&{n8%!>jg|T8q z#TzSyV__IyMD&Mb-Ust}i1vFgsqIxodDBGNiH+`0?ckHiSP5nn1@;bMTCl1n5_ylh zwox587|&KlEOAEayTf|mx~A#F%(W<MDL%A%gR5s($72FSt z98U1xOI88iX3^yIh3yp>CrJ2E3Uyp}?P`LS5lt>cFc?^vGAQMGmxa8n zDjKzkDhY!w_GCn2+<7Ttf;NNtHPD<7NT-?#s$gS(S@N1jm<+@fT4y2O1KF_+H2SPq z1{0&g%y5sI6me%>k|^O~{GOFN@7UCe%0$*E)EvUf6^M-&Kjm$?by; zMKnduP-0#;eR^RHq+wV*c{0eKeR{hX(*&NEKvKIH5L6eYh{}z%J}oqz&3T`*AupYi zMXQ)y%lC2{nM3)sa1iO^6@`GJbKETBba&;GkP!itNk+zlSfP{J_Du*u3UXlrAMcfi zoPj4h8Af1p540>M=2kDYYf&GaVD3GKH5Z6vifv7p}ivCQP&;Cb5FhdE_2sG7U1J_Q7N!KMBg%_ zEQnp>{+^E*-Ry6n;INRvydtQHa8(P&N1X2!kS}T+;i|~e9Qc_+UqItLDoCDW`W5R4Uqim5?1KmjL?+}lBg z#Ys+xKrm%o0-0r|VuTf62|@&Gvi}9GC`dQM@_4s6tJTB)u~7 zkc}GXyK5(rK2Gez16bfS6Se6mQ3Uu1Ttt26n|#PLUSrW9HLM0ddS*nk9IR$;gp{ap zs6HQR6Zj!TauS?S_3BB00P>XYg9~zid#RO?yaU#FqBZfv)6nr=Um1ZuesD?hgXvU+ z!Z4A}IGIX}E=H=X)3X`ZvsDw(nW(Nci2|Q7Q6D*CE{PaN3@{YD^|!FB3qY>Lm%2qY zuXlsGqWE?RG4k(nEB{C;@p8w_fDJl;T^LGUl_di!c-zLj`6nN|Ys9>!K0Mboa9~0& zmZ1?Xrz#3oaQw@9;mJ~RA7cfFWFJPpzmW-GAX+r^bNuorMR&8!CbNJ`@vl|bFQ#w% z4Z9jk>m472E&<$o5@dxNc<>*S#u}DBrhFLcE#ChIzITg7EqD<$m|} zgYf~dBkT~A1%HZgT9C2_WI-_A5P6Bes}xdF4r&skbUi$?zZmPOFvPolIB5P$=Rgs7 z3lzWg22*o;Y-3^&TsZV5pC#<_!CL!pts+Z@QoLkQ`aM8d3mrGm~e3d&cT{Iu4v^_%EO=E|}3eN07 zMyciFWyHA!3-xTaPK0xg4Gy1jJnE=}{EYA_5cKLMMbo01DtsA7ThjbyO{=nDB%S9I zu_1)5?94^2G&r)b+;=>txQT`wc#`SyyomsQrynF`UW8s^?euhO6pxLo>kx_vRZD}h zG*6f_B0-?)_l+e=D~VIc$BboGKH6hAVKVaT6l;hd*%H(8w~y@{#rW<@4>dE^TDUxd>xkhfZQx9rZl&S5r3Z zLINc*fh3gL;~hd6R~df4uNv5UzAUu;*K*FzfaUUWJqO*O5AgiXMDWRK>LDXuH{XXd zV>x>d+>hw|U_WDlPTVRh<+;~x!O>4*1TTi==y+)_jG@axE=DXzX^!%g7yL^L12T@t zsW5Mp99@ZJA*;f*Z=q1e;;7ReN{(0J{urgcE$R+QI{ZqQpvYQ>;x!6}y_-)862GvL zwE9N1Nvdii`erb-91W+(Q?NU3%UUB|Z#;2w0JLKpNfcKi{=i=J2Qp^6C*6JutQAfV zC+?36+VHi(B*h(%UoPHyCvojouRRlV4rC_f2y%9Ow0T%(l7T6Nw{{$RL9?#?FqqFY zNWxbOc^wdX5@0=|+k(0HP>&*}7vRcCLszXeoYubxbarEn1C7JW}Uc9r_n&{Z^Jw|9g7sitDCAf>zqq|T3n z8OzQ8F*XzQlT$=$xh;$d0daWGxNM9saBFkUXOe(<4% zst?fHFb(l_$2uUbhlR162X1ml`aC6yrzU}4j*-yRm=UZ);cMl7acAtm?sMQXTDBn@=UC|<~aNULfnMURoygauvv1@RO_ zRL#JbvpW&2hyLw7pbFifk-fCf;MVh(9<4s?tEtBQbk}H+8JW&e?Re~YnqR4`A5m!s=s|#uk zgDxl?jZRd@r9lPwxNw$1L=g-@6}*}X*nxjn1q~G*m0)D}oGOoi#KF98*;yh^3$Ru) zqOgFg5rk)p2~CzI*Oqa7)qcV5Sb_yUxNxTaG2&TR=r>X)w`kEBO&iC5g>bT36m|=u z%%xp;6z612Sa}_TYW$qR!4D^|bwx|%t}a&5xMnpk4#~sJxLXwM9t)hrm9 zX;srdEWLMrf;sLX|a1EAvu9Bf%(WxKYK+!#WYp?2Xzf!#$+<0Dk9OIQrDc`l&xUBHK5N z9R8Rzd|-L9&j1A|<@=FMnYb3V3A{aH1&t_V;N&HS{d_ zhs>iC-%`aY6&`M3be6*St!6wbevE$M_HRwcT<2XrIDKohg764Z-naq6kh9}R`B7Bz zwnST#zbYI6E?uZ)r$chN`(%+c$Vu=qi_=WgsWE4ffmk?-w+STRXFF1ApvOqgcg$@w zK|7FaJ29_-Cc5R(J021d*TaC0`|^HIL;0RR$A<5WXOno5yE%wd^wnI*=#H@hZ9nJ9WqjtRB`W}~UvI?;eSvGCJ5EVAob7X3a zkk^ciFIneq@5nN})`4pEPBmd z4ND*HCwjcz-(0a%0MSajVr;$d`1L^TYUG#4Lje}uK2 zS57R^+|(G6FLfRFqi23KIVsM6I<2j)5L-2<-vAX zKoHRi`1FKG^lr{h_)pX&e3>VSAt@lH4;e|mL>myYZXmfC~70B@8*&N zS3ph+rmxui@srEtGX3aLITOaQ-P7vl9w8XM37t{zkN868I3>ujx*g{~+K-XD5IShq zw6~QI4(P8%yT1%ime2F~oZ<~cR#e&n1&$dF_es#6Gf!YIy;hTa<1yWMh$@?Lu-h?W z=5)-i#mSv%EFg)KJkdKwFw(pb_HxE4qMAG>D=36>7-LN5&L%A++bD1IsCw1{uO)RA z{qLvo2`q-yM7p5^G-fL(u2|5b+>7Ci1HOB3I4ttu=x(M#U%j0wQYk0Iz#bMe0x4hj zD7?<-poweO{xcQ~0gjss3&wW~8jh?xZKkG67@LU7{82j@YRY;|>$vj$9bVy1%M&QB zE*#i}r&K4bo}qf$!Y%W9dxrHNO=ur>6m8lrHhNx&fBHAsmyr<{=;hyqU&hh`4O>A& zIp`L_11RfRCmMzms}$uVug~_8=VIXk_Rot9WlZ&LE-QAs+E#fgR4Sc&GwVcdJyB4N zU6M(ju#q=^7Qaq$Fxo`WUaJmz)Wnv3vI-_L2(LVW>s*>mmEU@kFAjhl5&k0n4E=9; zdT)_hP0qU9gH>p*>OnHfL-)j9XeLU+N8f9qBrds%fyi~Fes(>n%V)Ndx10@~QaLyy zQ(f_(drw80b%DR)B~`bn!d}n81s32ZPFo^s@Y#$F*em=Mgqq>{SRPYBV$xhfOn~#o z-UcM!aAP6}fL5UBtni@QYJ_26?$xLZP<6W2i#1{C$+;n4Z2!HPWk8p>iwp7bM~tdt zn`k#&)T6MnBT#`C9n&%^KntNa>6dWKpF-`qf428$E7efhwVw7nbfXw*B0m}zOBLZ_ z$d^o3elYDPBPxiIP~_(lht8WWV5Ew@zFeqHR3{mhv;SBgg7UQn$GcMv<)OZ>3$NHQ@ZUt&Qe5(+j4|W zWlROnOZ=u%w&WvGKO&`wK<4CFf?TYrE~IPOng5))XajT|UXcgF(&40=nP9c<^e7bi zlhXU8f&lc*EFZRssK-~6^&#diy3_hw9-c$kGR8_Y=mEk}=W32Kp#f_wd+w!AESS?u z*bbuClBS%xr-IZpQ+3Q<6`q=3(aJvzSeA^lYrlCDFr(hlElMI?tA}5K3tN)$Ysprg z)|Ifj_4JV`N;F56CNIX3XcqvHetoN;t8uxnHwN%$3nwEb56DpKCBCD9tR$_##JAao>(7Lm@l;w!xMGcPo0BVvZSR?r9rG*lOm&&CfSrZZ0! zeezNw^iaT=E-d%MKr~Z{x6%1q<$skMM$q!uIaj&p3YqxJdDVEjDdKetj7S!z=Kzvz zMl$dSLg@;B9miCgxJQERq>Bc}(?KU!q@2?$e7(z?=lRRbXT`&>grsHdriWqCR)o29 z-O^GCZJ>t|`)64}e0-j{`4Yj3nFG1TEG5q?f<+~aT}o#iG&v zr~bNh0)o)u6!ZM^Kx#c|Qc8Dm~ex=kvOtW@jl)`<5;jd(hK zmUrTH18sZw z)J!-Cm5-$ve*TZh0E$z$p|?+E%=XA&!}nCxXu!*Wb%ih8U96 zPRx^OE@t#*@V<+y zrsa3qS0HrFB@F!a>ho{cJS-UAX**|RT2&P=F#_xR;eL&h-fZ&ad;V6E%<*VoGJWT5 z3&zfq8vZnMojgRkLU8?rzjvu6u8EtvM0rPy%vd@5{=?xubsD4V`p7-D%}%?a;XLeV zhcaCg>e*DErW&5v_9;AL)1#md(3G3m!1w3HsevcUctZ_g3(i*qZD z^G}(oir_f%PX$X9l`CmL-?12#Ll@m_ zOGSF$VGTMg)`v=eMC==blINvH6mEilP%d${_2*ongNL6e3AbTl)5!&mDoP*}bRz6Z zqHR;(3=$-<9H{JOhGYpb@1I{Lw_ODXgT!`c)ldUzGGsFz7;H!e1h+t{?vK!1&XNqIy?6LP`{gNLOU4*c2I^1i!KhOO?2rUE^~DwG zOhcF99REQRe499$=t_QMyQjPLB)8(gtnoYwTikdg4dovq_f)HT3XPX@amhn*A1(VW zCttwd84d(j0fk{Qe7jjVFpt7&^pUez!YHhu$JP?2a&L$#gVX{A$jQKPrY`{pZy(>u zXzrw|KoxLII=k4KVgn*dYDgjO zWJj`FUPJ&gzfTVh7Fgn@K$WfiA2E*OC9D>!u zLm!Yhp$Szb&I!alV^o6p$A?64yGG5*nZhS*0#6!~+m-y|i|db8(Qj6QOI7>|n`jwG zG5qmBI=`v{p7(_Ux_LPDVJz)ul>#Ske0s{c`+P+zLfqg-825I2vJTHVBmX#%OXR5z z{K~_tfD*Hk^Yu1h5C36kF3frVXbLlo&i*#*!+^Mq*O-KR7GuNF!i3pMNz}_+IFgo^ zuO5mOV37eu;GH{Ux+=2`LUUl>x5FX=4_>5Jkty9D%i;;jpu*+ zF-{#aywrZbjH{&%xLjTkLG-0yORodK3{-^cwBRr=m@a)3gIXx5v1Pb1Aj*dbyUyT2 zUM&6#wJ;(o4C|X-6k6~2lC!=(|2q$5O4QT%dCe}jN2i*=ot9zCX!0bjQ$Q(!W{l@y zmyCBz*U0eXgoOG+-JOQ#3@q@2y;+8VL>=k>RkgO{kbE$Tk7=3jP?+wq!S%*b9naGFhsWe z=xq0Z7{C?`Yk2{EyXL1#Z=_$kbGOe_t=%Uwr)H@A*;(}4oK&oV+iCN*mmfJ{N3Jqp zuG_?LH5boW^)zFSp80*Ji2q7PLriuSwNFf%{T?suA2yZ49SoKC`P#>*F{(k4d9to^ z$H*Gb!@T3blMpncear}?B%RrBiK=csGn$kBNT{2VrY7F+<=l*xMGm+3!YW;8XQi-U ztDMtN3*?6X;%GcmdKuG}dz2fsvBGOS_z3wl&kJhXfl=Q5L7jdi$s(weZCE8Oa{GUO5kHTf~Tl@c)^g&6dpgn5(ej9gY^zd{edn z_xuDX`qfbykV@&YjrR~Yd>jGzQaH(| zHecN_1J38(%clcQ#`EFsbxQ)rqZjKZ+KzMi*xv}Ah7Q3pdPO+*8mI;m=Y^!X2(C~I z|0Jk>vBDKD&9t34whg#an}p1RyQ5!+h(&?7jRZ{mq8_`9ppSm@QUbo5h(jbPiHoYl z$Zjs9bN!aoDe&0(_EA^K1Uu|i4ZlNG=hYS=mU`DHPH^H?j z#Hy1TixX_38a$(Z>VIb@KUOQm9X^->0Qm3xvxCPX+!aR%aVQBR5=DA4#)6L3^QrUM?{sjKztyE6c9?Kq zfzUjn`CJJph363U2#%LoA^kf3s*pk?)aQ#YcXb?1503V{1$wRFX9N6B*gc)L{|!sc zj9q?<)P9?Xl-M+(cL4>A9c!$K`k`oH4!cm-DT0d(GsEusEHA zdZ;%N=HizGnoE#IbL+x_kCqQOJM&(|(TB%OI{&bq8KxI0cr)~Gh6zWRo0?^h;GpDb z4<8H{;E4D^8F+3;Ny@G7P-D`Z;rs76V%CNA;F4qO| z@o0#{Erj$r@$lEXirL)?(5vgOSWn&x)_WHlhD~i%kR>XPXI>B4B%+S`bo3A45|e^) zmLD$)d9AS0{~X)k$NurO{qMcyF^KIDC?9D+cmEqANt9Y)(91TW+yhOHOSdl$3#8Oi zOeEKQO3zB$kRtb?n70A@4#_9BL(%y*-mK}Fzy>7}^Q1e}`bqnOe;G(>wJGY-3p3_N z$3{;;z2N0tnZFAIZkac1>XwR=L4i!gt&dTk3(!)Ood^HevQE0MC+o(Mp8cp>(tQX{ zh5z_iI;*(dRGIeAEr-C~T4hpBj4YK$M*rPzJe{G-el=G*0O|X2OTa%3C)sgL zbOViOG9flF_*?nkQae^I2I0bR=vbtJ1nDcDy@@nuF<1gBsZoezCcSHqKA#cD4$8Mg z*e2k4Q6-!6+Dg-?vefZz6x4nShI80zTTLO3Vv(a5Y)WXl`rf0UAC^!SqR{r6BF~5s zh#x*~FGNZ+qcZ}A`LY-!ous+nX_qAcDsS2iy?q*9qDzc!rn$4}VW?6(BoP}eJfj!^{J6_GHF)RuAaCS}hU3RE>>4Su-E z^Jz%^P?0cp6lnD04m=E!ydM?ilwD6j8hEq*ID$Uo`}21jO~>fdrWbUJ0(AUM@psyK zf(>Vdlpd(%UdPB#gNcNK$$7+6LJq+6W)f)l9VXd1V=+}e%YJ!ofc?uWEj*!9uMDF_;J)9q^RIiz3;!K1Pu5LVjz~bnU{@LfF$>T=rHba0lMW!F!)fxZlSAuiyq#QXN`7&auNJeXU#KzpokvsxeLJZs z^V5b@V|PA9$@6`KYnLGwT%#aJlKS6BXICF^22F2h^oV;!LkJmT$}WT;Y?(J>SY!mX#rb zkMHrzPI@-=gRqHVy1oz190KnjjZpUR?G9{?PNcvm3*f|E(uVKHHg5O{8R?jZR{*-O z;hR5UbuUxVwQ;JW_$kF1G(eBe_#tjJAU1h~n$ELpYkAy}0aU+>8MtbQCB1&G3v%86 zmD(pedev63o;`GV+a8AsiutWwCHY%B3!H1fKb(d>V{%w|Hwy4K&dEF3Pz6$%y=7=A z^|zwr47XwYJHeiM6f%5;br${`Do^bxdxbjCIq$>HbTOb~A-~dSpd{lwtS#a)TGJu{ ze-L8Z`fDMHehxP1X*C`CCFCdZmdVf4tl5qdYfCcTE6Xus3T1$<3gYz~N6=%x(QKw5 z!+33<^hBc7{%OGg#oL8LTF;-&ZGJO`_?~1c#_C;$NKn@^)GQAnDqDr(UR{F7S{aeX zvtsACZS_u#!p)}3Ogoy-Z6clTm;*V2InbSoenOqpQn(;<)we4J_>7x)5(fa0eLj(Z z6tU^OL|i#?$XmnH67^+Ugd64e-F>NuVz8IME_alV5HZVRYBHLu=`=~%4wb&wb zXbUUme-!i*+!T}XlZ?x`{7^LdvZC9Hn`!d$sVkr3NI{i13YjO&1o;gmoEfSe8rGu`h(P(gqtMQOrG_yqbtGQ7~=5D@JpPk4(2HKleGN(;J{WZ6goJV0p zrw&74Cyh&vkZBM@t*|Lo1&y}t!uQ7hKJCf;%*a==wz{bx`vXmdumdQX^9wA(ee z#Vd1?^Zfmx(IR{#EDtz;izb8p5`Qih*+@L5sLh`R#?16`N1zaa-uyWjmv^@35>FX0 z(Wh&6z`eHSo5_t47&I-DqF$9bY~E|(EnTV_cB5KVYD!t3-&B#`vV%UmYMR#Z($^&Z zoJb(Od1<7{k}P!c=wCy1A9ugG^YHK~Cm;};o)@_2+>B%uT9$Pj=hqS@u9+1L;cvL1obZQ$A>G0%>%1}OxsHVhP$!@0{Fs|)euJE3^YZjMo zc0vYlCMG-{9QxgQOET?PEObdB-du|r-d?%FN41=J+{q}&8krNzHc z+)dw4vio;0C9I|^`(eGt!;e} z`doB46!^+Na~*ATCG>}C)-=5Tcn4DLvKcnVMR;&4dp)jKNHxhd&4E#q)vVGQV>v^U z6$k3XEj+gNr+-0 zFzly@76+_KOBtS@uq@7cAnPD~OBZr?G4+!5=N%e`baw_jqXn)###rEJO_!P3*{1_9 zTe})aPewm&O8Ml*5Ym5J6m+SAf4!1oxlt28*6?n6p3xO#NI*m{ucyWzhmZ)~SRbSQ z#V(}{&B(5#9>Q?khc_7hy`3AugNGB?ua1_}J|)VhFJ_v%Eh=<#-66h)sj*U!Y8*!v zFB>{=Vo1%(63IhaBq}q?O74zHpR<9wAidRSWmuh)Oa&jDWey_AMLl#}jF%S&xYj9{ zvdB-haNfs_MDX&W8Bm*!@aEmxt85c>aq>Ny|GfpT{?#H9ot`5)_sMtI(m@grZ9Q?j zm9p0%uwZ5d!QG5HH5f%R@u~@ASCy|^yLspIE<_8Ksvy;okYx`>dzA*;?>Xi5aJGV> z<+j{NvvrNBqC9I{!>=zAo?y846H#N)FbWGe%0wc6OD2q5cJDO;;(;mQ6c~5?i>dyl z!oFeI{*>uKg4cL*6*Swi3xny?zRo!M`mgUub}G9 zjmE+?GS3yo9Eo|k+rh{p^UfPdQ-*>637SFmJf6c2>sJ{v4H*^%k2Qvp*b7BG&p#ZQ z!9>lEFGJYLEeKUOwmQ8TG|`z-_ym*}&9?AZATPrlmrvicTVUUlm~#F;39w#!A#$hY zO>!_f!_%E_IuDE3S!KrotX_sHq)`M^sm|CcB}nkvyBW;$c|2;?pY_c=NJ6lz(H0DEkh& zI|){14W@b9uZ!WC_!Zk%t{+087&13xWNL$HG6(rb&;GuAXRrU_^)Hz>{XNc9zm^XK z;}J=8lzRXv^E3P?UNXry(~^u)GQoS%Vg>cf$PBNL5g|7rKyyGd#mOF7;ec%fLV1f4iiV%t$jWo2iUJZm)eAiIWG7z%#gd0Z zZs9cyVl~{v;p3k!utXVuG@B@zR-aaq>}Bswt_c?FHAYU|-Iyt2*LlL8pLMaTL4X#l zN%^n4s0a3CXomZ|()8buO24mL?8!Q7|HP64l)>Zuki8OKGakWk*jnvHHNTXzud^mwYK_Mt!(qy^%FqdtiFOAaNk$D|2+i1}u2eIX+W z!&BKq6UO@d96d}ZI$SdhzT{%8{WcZ4mA2O3@Lbl`Wo1Tg*oT`50>}uB%B(x`3AMBe zN5012e}5!C^>UVSWfz*pu<SxXmw~ z>LZ1lp=dZ>ElUWHng$erXG|MWV6DNT63(rYktZ!I5Pp2*SW=~9o3@7h&FM5b_zUgY z`|_bhI$f@3{3rH8x3){?{yaP?l68UX-xdyH%zAfQ?rbIYvfeZEwS3>3(bxdF284@x z@Vdzh5m4@uY~9g2GE!EvBMr?|d?ckJ*uz_#W*T<3Y5sUK&tCPEXXy8zNdL8@;@n=^ zxTy0auQ9OaW4F5 zd5$+9c!jU0j|9KS3?KJ(L|D~Q^WDH21Ruv3tk&xaHuFDjK7C-}Sl>sr7QK}$3QDp( zuq)dUbmAF`Ay$x|GQIVy&v0C>=6KT>#GrM(ntyBF3(EC-bRpRS_$qdJ9rwt z$Ei2;A0sP*r!Dxp#ZcmYTGd^(SR(o`W>6dG2iq)eBAZotRe^|`NcI0c2 zjsj3nbk_aj{7ZMO(PhV_@iMels^z;lb!000=B;+^(~%MYwQeQ6AGr`vE*XeBN!Y55 z9Z=q#jVO|HJ`X=0y9K|KRD)r8DMKs6LiWs%o|ZTxDx68bQ5!A`fxjFc75m4WhYVwB z$FeK)&CM7nV&*hIdL-W%w96N zbq1fTfxWf09TUel3_hyv3qS?3e9C!T{eP`pV|!&y)6E?l6Whkb_K7F9PHdYK+Y=`f z+qQFJ+jcUsjW^GKc>DYAy{fP3tE;Qlsy3cn7TrKXcfWwZe%c%f3`2D#?G6jQ&|gj{ zwBwRSt&ADj-*}qpO*vtG#hu=iWn|~8$u#M!a-Ip-MkGQbK>UR`$jx&n{8r{pwcN`$ z?^3unsb@s7sA>|PSK5^Re0Dcgo9ra6|0Jw_xc`rC1yz0J6lXp~$>1gV^S21>Jx(W5 zh+^vzNfHJ##{)tm=>h2^_YVQb`J0dC)R`SRME|%hxj(M&EpKGI%>yzXhKPdLe_1ey zwC7L(+G(?V!HKRpld}Nr2k~#eEl_mZdlH=W6uQ8#6a4QyjAoR8*wt^KTi)TW*J#IKxjpuoqEsvd+(JC%h%C<5&-QJgh-s z(%v1@*<3+~uYQKqQsie}ZWRUX$kD((LtwD#fF`$;?9St+{0fH3H`}TJHU48h_a7gd zd>1EHBEA5mI&%PZryg0vX7#0oDG|F6;&*wlCBtaMC`;?wPf#K%BQ@clKY9~`^}>co zf}#z12)QLb2WtJ(t*Zaka=fifB{ zy(FpghR$5fW{Mbs6>+1#AOA8WAA0$OcjT2&KpRha+TYp_u=p=BC^pffRRiFEM0|sT zj^T)*HBsC8uk(vcZO?AB1eF~WD?}=WzJ`rNZRcL~MSbB^7SiB@*~t=pSf52Vq|6%G zXVmLD>(xzTcNn<$d~7j=8(2C_Va4?;9h8SIg-KXH<+&kZN}`#6NJqQ-zpeJ@VtAST z61$9i&u!DJvm2%)H_QQ zNpzgZ^f_pOxwTQDQ&2o3kIXHh-siafjtOqt9a{afXSt#PHB>2_uR`J5qr1o}S*p@< z2vQIl8^o~;ZRBoH;$ET{)GP(iLFi6#5rI47#0A1`xgYd@7ic+x!m45zht}D+X-_Cj z#&o3@H-Jq?Xdd@h9Uxg}ff1ynJ7p*5Zn)kvUofVTHJ|8=6I_y z*^f`uUOPBw2VC8IBgkfvDC~o33zH!|#wP<<`<%(um~DWKay^=s93`bir!J_nY9jVG zb`J5SH5#o=q|ug~H=!+?6x#p*W_v+Dzl?y%7U3JBDlQz6t(*CpikYdFHpWlYq|9kvf)2_VUL)VnW_Y z_Tqclv8a7l3Z(;*db$a1>8;lU`Ao<@Ej``DuMMdpIdlP%Zl}2cLhpiX0#fSb=(8v3 zCStUug$=e@IM8(Sq{x*T8io>6yo*B+OxIx(Ox-lORGRQVHj_Et z?3b-dkNG5=MhAE7al=;PY7cAXW1^moOK{Zo%KiJ)Uq&FJW35u1>6o&44^gXNzlq3$ z@XuT{pvRK;$e2eIAsK5O&Qc(bTP?W!95-yt4i!?U<9Y&Llb3Xs(zc(PNBVXcO^Qna zc=%tW2EUCI?Cf~zqhDyVlC*}UNN57h_elmJOa;#s;)WW)kbuJcxP>zvagKo{ty6bg zErxC-=d4MG#90|Dw^H&g&Sa3zzI(vuj?x{-ScA7vnfYzSUZqC|PsyH3Y|x9UC8r}p z6-CG*YNC!Zi$3H-F|TrW?`^*2qJmf$`jkaWcMsWkueQLAz#)dui)L=pvX-WBg-U%b zLg&ZH@=!iAK&If1owcaWmV_4td)8wOYnJ>jmNR-Q0rrC*0yIjVR(i~e>!>y_9IoDR zG)d@j79DM|1hD_f@qQKtD@F5G2Ee{-|25+?LtqL?#T%za)&6fo8YKjt|66X$|K-DZ zQ|;S9qT47cX zUdMP4CzoQBtLKb04LN-b;Z=S3Vr;F*GYmzCUiW_aeo?scPZl-B|he)iGciM&z0x5*84#qAFUG(R|$Z&gwOE^*W^l9PV<)$ z8(-VulCwFqk|3Kd@_2N*ZsK@QZ}qdxU6`|Igt$xnlEk*KlT)tR)1tH&P7fnb@$1Hy zF5g?Gy|}{|+Nu3~%)n-UUo0tuv@zf?M+VdtuPifqXm>aZt2v$YO1gg-B`+24|hjWN3ZMsystsr0%a$&Pt!mX?GSK z@o?H0H+8*U{hla&8m;ZKwCXwGyp%LaL_t!{aCIh$msChD-fnc3;}^x}Py5R1tZ3rm z*~Cj5Y7`a{+s!1);w$rGHFHGpK37TTyD2?k<#7|^hC*K3-X6Kd&smwWbImlw!Fnn_tNK5LS9{k>a2&tGXF*bHXJ z!L!TIZL8 znX>pBR$n6&ruirJ`|-O&EiqY7)(Hi69#jXZjE8q<_BUqX?w)L4*T57T>D}~AemB83 z^!O)3V;6qdX?mRIE7~hoEjr^qSYrkw%PbqZHjaPuZux#4vVbnWU!x4c z&keIifiM_*Of|he55AELJSor}iZR`LtJ-tJ7u2e7hsn^!KO z!sK-?egcWIdyO}#ifN8s$IS?5jjx!(+>gaYtPb0loC_-O{4TM*t~Jj!MywuD$0H05 zgQ(jR8r{}*tvE0so`jihOAyEm(mB6kIrhe*Ll)i|kVf!(nVKRANsCOaAFh%QCYo02 zazZ3kJ0b&jMh#gtX{JL7rNabkIz3jYngRA9Q@;tkJXvg~xpZ7j1}U{!8S;O^i(`0O zw@2sI(TZVaJ$-md-_v@daI80%89iBY$UY>6XC>?rK?cRIZ>=7$s}odyX&H?0Bmaz3 z4V*`%B<%=#e$``-+jQzf2Ud#N%fX$ujQ=?k{3R|%<%!X-I9OU>H9FBMa@R*v-)f3m zxL7QDdbPE?Lo@ql05?vp%QAzvBKv-stL=hJprUQaq&#be?YC(o{E)3Q)QjMHHKyb) zd08Fxx}Thwd9(8kS$I^CSH5{8Wq#>+R}g2wODO#7L%LESDJ1&G((Hg(7gSquR~VgP z_MSm%*XZ`R^Ufif)d|%?{o1va`exFq8cCuy+H8)b81WWf{@ZD(yLtXJ+9_^?(M?QM zHZSYtN#d#mY&bnrCBNgp3>`mTNf)?>cz0NB5B76}$qAAM>JP}O3*iQ{m78fAsTd)B z3o;*AO^k!GJWwrVIl+%e`E~YDmd7OB;BI9eE$&fKS$=#0e9rQbrtiLDPy69pZUcwf zrFquqJ1jM4gOn{qvXq(7pS<7qMwK%@m#OEVffNDLK&^m(-@%VHEL?hUCQ&8Z+V`?H ziT6aDEP0n0Vmjg)B1q*4I86gT-K?V2&Iq|8HX6k3sRG3QD)jY=mxl-`Czx}{ku!4OD=)&9 zQ5aff;=};Y^4T~7_I4P`S#%o=tZ6o6yfG<*k5S*$rQo6*NDGnVTWflnl9z3}N%R!t zq!N5Kkq``yad7##$?md%(&QW$xPJA=pPj}TJ)VtqqaSh(A0I_iurO3kEi!BYz zgjq*eE7~`lBk2dlG&ba2@>i!1gr7wT-(B+&e~jbXw#W7t*9w*=;WdTC8}%^}*9^8Q zqQrft$!s;z1~5Ms4)t=6YGre{EUptQPMDI=Dx^Xc{&1?1J8d2^+kAYWXAM)mKAWtS z#{a3Ke${SefOh-7=~N*b2Hg5@8*Ia3gq5!<8!wfs$ZidMGty+W>ePpn@RZ@lpJ0PO z$=&+H<-AP--snSHrh(S_14+PO!Irj5FE>)-A&%WD*^N9L;M!wfp(K`yJMlMV1|!Ih z!WZOd`|zM7sgC48gkOLntj@%o2R>IZC5Rz5T+08re(vWL7T6FLYBDBm&sASM9RnAf z=NtcY(Y}oZo`<~*rRA<+;@P83fTXimZvRGzPd-j#HL2%ehS7lFuV!~6EM>MXC)b=7 z&Lpq}PPt#&v_q%dyFQZe^ACAy^QTd&k6^qh_Q;7Tk=>SI2PN)*Xc9SFdiiANy86Ub zA+7b~-zx1W(;@Ix{QdM>sqSFX*Q&tCXv7-$t<1`>w)#q@w;xTAUtM97MB_&B!+p_= zedPZ7IE07=OOpJ|`8tx|IxRi51PvL?U|Troh(hH~!ddF>Drcrs>H3{qR}~GNf?5!p z{2amOOcZvKSaRjm0652wZnkaq+Ya=_v*$c?OikI z@o9+csBA@&-)R@$X9ix0(ibT|EvGEcaC-{wUklfLI8f1B*E_(cj7!>e zl~@FAFKO3n5CI)Tb;jgAdn;PDU}9#}O^r$-+fZ1=Mu;&0bMUzer+ zcs7t`&oOGNl9QR@aSRrrH(&);I=%2;Z=KgvehbuB8anh8;J`rAs#lGoV3lE3sgvEI z9L@};P>B8KVimWdw^l7x<;wdzHw3>BE2=~@_N=&ULhP)U3Ug77GKRT|)pL)h(n#`j zvlupzc=z}9$>OKdV2N4mYFo``(+&Iy`3BP5!<(VAZq=%V;MQed3}MJA+jXRg+>iKi zCzCVO^QyO#;1li8lauW&oC*L7Z)&tPhh7eWgtoG$GNJUdCUwD9QglJuKJEb%6s0;q z-F3Olxd(gXiK`DL@xyQc&$vVTz8C_#UFx7P6eMlpZ!QTLWN*S$dUs~uKD}t}=dGXq zo5opbM~{Zv>0jROQ7C6}+!kPdPaY)JG1t8;nete4s+VmhywR9Ef6`MfaK;ZK@{PaN zj8CO+vVAxOQVGEailQn#pxLSywJ*^9Pc#x-07J;8Jj6giZf0 z;w$=|@UuZVn(C26cxCsOVJPswI?rK~8d-y=)D>FBiIHg{aFg=jH61?so)<*(yzL(2FA=^#T*#52eqTzwkxv)w*|I&zKBb~ ze~6Q8+zC#5{)i72@|$v>a_>I$nRZ#*1h%cNgN$YG^=n>YZ*u8ucXwv+)p$ zCgI~?d(ouM=0Zs~Po*^JnLhGBrE+F*6PvRWOmwi8oqp&a9=yqPAZ#D?HlISn^Y$y) zOkBPyuFnMtz%}m+c5wvAGD2>~eT}YHa#P|_(_@*<9ZqH}cVVS-B$a~J4l>O+MtbE!;%3RCvp& z7Iz&sdoV<&`8t7ushpAfv#;B%xm-Ipl@1vLVUD!uAoKBBWBEwjS^>jHnQNx=EX{z9 zdrvz-8SYCr4em*f86dQm4w);FK^5}*$fW!rUkEmkQ93*&Ey41KY7WRo;4Q2dkxVs2NJ0q|{atf;}@U6GZmVww{nL@;UJA+?) zYwv;&8sZfZ+z=Z_a7>s-&Ksh_d*n0T!X9T*lQ=1f4v08IuwtxMAh-4f*Yfs@rC0hq ztm!+AQ-Hm)Wm=wM>)2U@%GjM!ta!%Ng38sEqT&;Wr(F2sHWO=g;!?M`Vqr?~LwjV@ zv-`_}Ft}>YPp0YfBmR2aO9NigNC^ z`Tdl>eKXZ}oEB2z?Cc)g%WRvFOLDm#1)xwE&Ll^>nz>>Kbko-1saS7mbx9~u;|di& zn(rObrsUuV1Ng|3|NVLrm+-!SHK}^*8xnoAP9jPJl6Tf?K3+|vnEgoQLU*$R!eVoY zUX=D;c@JwWi0q10oS$E4d2G{7;pY9flRP2OFDlvsw-nk0JW9&@cn=WmBARuc7+tX- z`NXxA3umV-ja>@ljoI!%OR7D6Y1>I=jXO`jy6sQ+$f?(92$iZCdNBp6xCpBumTs2O z2XyZND96%4JLUk(G*=VAQ&F2K71Sh#hNdNJafVmo)$YG*44e+K7S68w`}fm!;w!tL zb-(^JbPd&YA@1xY6i7wWl?tuc-zV|#L5ZaTsj$Y4JR36tgOWVMBZX!M-k+@%hN)@| zeg8e+ZAkS*ExG`2HpIFs9f^;EeC*d3i0uVD^q9|IA<2FKua|GUPN)X}8sgw8K1G?f z53I7$E6VIvO==TN?|MqAe|59*+R4_a_!lLr`7-V~c`073=zOK;okx1?gSH~Yp1oTk zuz1G!I$5|Qt#=g+2k4bFOA{(`()zj*aOT76@o`UPi^9CnCthhf`u&=b!?2G_;8En9 z!QxkMBWC0eOvVWuai{YM=;3?mw%`P+kw9=ie!t&c|qZP|5S0On>mptv=$_I3J zC|OAsfO)?P;C5j~ZD1xRo0e0zF(8kNlO`D>l7r>~HMfsF5BU|Ah1o<8zSEX5L~cE{ zmGv>pyZW>t=dF3FvW;a$MhKr@r)S;uX$A5m)+me4q})_bWBbVKx#+ zo`|IVW~_9rVPo5%g))s|>FFoYc6M{Cz*n@Y_^DEHnja*Xwsq_-vgOzk}V!5L{wMGezWi+bZs#=bw*e4RSwU8hsJKf zFIx2T^Otv)GTsyXM41!0G7#WrqbJ1Dd{q0XP@SglcIngsec=Mt1d&>--VQCvTP7I@ zO(gvA{+G>V$r>$}r8hVYSW8v1Mh_8p5qUlq)mPsLIEXI625w43VpbcTe5Zd{%J#J2 z3vNG^Ge}v$FyIg=zLwn!p`fEV`w5M09o{VHHw1^^-Gk$gjTtU)!W0+&aSFTh>l-is zSS>OkJByK>EFWaf-l=c|r(fkzYC+agJd`s*nu~6+n2(lSt+V^T+Bt>XJ(RL9f9x~P$OXml(?-`d;}+>y&Ppgn zcl1RwFV{+DxSy|OlMZ9j@HkuUlt+`V^~ky=U?xJXn8>LQb8yX0$O40)RS_RVm@%PW z93I@5BS@r&<#fR;#vsW*<{XX{9e1Vj(bbrsb4-j*L&`>Km-pTb7dBE8w6`ok@N6z^ zEx5c+LvYYu_U}n%?z2c<8kLkwW3ikE$37BTJD(9)9z1k}WG;i%F`hZRPs_f3D*JS_ zl=@=9!1DFu;>0E%6i`=fo!bZY2H&;TW{giEm?cUhI4~SG*3WNmX^gd?YC5 z`p}vYG{qKC0SHLIBzw^(ee&!(HQ9q{h0*-t5kHAADRhdP>~YmS#fIfK8QDf08)dvf z@W|KF9@)&^x!~geI6(4Y!xD4;dvIr^|F&V}14InHaJu%^K28WhGpong-WzJNe?;L~ zWqht=eTF44O(B9t_sV7x8yv|tIL8n{<1PKS3szE$0)FME?}zHM#(ciJx3=QLJyD;` zcif%K)KFd(#+F#YR*MyhVshL*K_MScIbpUq3?7lL5D@(g%*r~o9|K&3fR{!3o6#23 zR?-vIh|1f0&a0V(Ai4y*m5#y}$Ld`%fJa0a<8(xrjV!(b80$cIqH?;W>{` z@%vT=)KYd~dl48vDyD}!=LAc%sf~fGYhM}9i~5Ozx`HLFP^hjRU|O?X$IixG*&iJs z^#M^ey7Dip5Sm}<%r-B`yAMxykhW71wpV=PKPR~^0}P{DdeP@6XZ$EuK~PvMsa_M5 zTwSzy)?QgOF(K0t?jii1H4H1aIx>UUkIl7V@^KMo?%Z$ibqi`{UV3u_wq@*p+>zao zllXCr8bM{1OFl)Zt(Qc;>VLBof1P)$)8UA$>W(n|)SwW~m4N|b;_pm3LVK_~A@B?G z5oVL@Ka?_}n$m@tS}xWybm3uX(-{nm{r0%6LZs__F?cpRA^r=ysm5|3um_6kOeOwq z8#*h2nST8yct-_vQ))_GLdb>5j}D4BbIas)_`Gdwt__k$S*=dIEDY0HD!5%6a$p!D+te{|FOI3K>vG(!PXdH9~GEU z5w-zD-XOus=WI(hE6SN|heJx)J{>T$V271~qEE`NlL-+hPcau`9v4lI9RUx{&!(TF z%R6vcH-r7uHyA1giq7;g4w%l>C8d-$O;Uy4ujJMi(_&Ww5S3agKqiHF*7t}OHh_>`s38)V1o&<&$Tu_%SV!&OjsA_j)CrcKQNR%P)S5OpD>uY_G$!8Aa-vmS|_&wUYuQ(~V#nTNkQ;C^ z8Ga%JXnpmImpJ?(pLSu7l==e-+p|Q2e7(BW+6w?hXW-1 zR_mRcz_?246Q}~>8u-s?0T$b?6KupAnvaNVS%3&vsn)3PbyMGpEwHWyUA89oV z=BH~)uQ40pj6H_+lb97bgZ~XWdD(@KbTyGOURWf)(H7P(092vM5+Dbake_oB+K?El z_w+zHe3XYGDd*!~`;>n+9xpWKY(sCR&`}Fa^iuzGYZo)6A$Hp^^vSQOLaF2h%w*kx zeF@2~;VL!?_Z&5DGVh5h@(1SM(pZHUIT5_~FF#wFA2W|Ez-djXgK=+|81aT|$z4>n zAS;I7*){OmG5;dda6I`{b+FBBikP51EU%Q})2O87cKiYJLudgF#Dp;GXcPidlu2!V z3ONIk)rs(Vk(_WXIScStCv&nA;m_{mErlj3e(1$C!_RXb^sCG#=3+CF+l`Iz#qIv8 zLyt~}L?xFzy*b{N4r*!(1Gd3T-6$_V3UBS!1f$f)g6{0ig_n2hWaY>yB4~Z~kjv-h zt*EgS%N1H`!Ls8Yeb`vM6TP3yYj9#dWEUOc4LW8!52d?M)OGDU@DG zg(z1k7g?@VP4Hynwvlj?tA4#+y~M_n1<)-0L2UUGLTzKp)N1AH@{@Bh=j;9C$S21X zVZ5b}csPEVlOGLdx(!%K!anmh@mI4DBfU*ed4=AJsBlCO;r%6CE#bdN?pEtYfDBkmVZFjF3JuC=3T6?;2H zEBc}sWx<#4)7{jiXw)#zFGz__Yo#D^QNf)u?ql@j5=1L~?c~B4tqoLc8E|y?<#srj z!RpD+;lg9vD_v;r$bK-2?~XzEf@jxr>+__#EdD!5?U10y?Cp@6jBPiTOPO|(r68EI zAy$OJQoJ6~>uNGd0W96gWRGm-6M8c^etsWe9TI#b{{lNx?0B+Y<)XG8idHU`b70n< zNg%cR%lQ}_P-bnR3eC^VlZ=xdR20H)0?B8wM&pl{6Z1#_Gv{l`_dHKfu_|{=QKXJ1 zFFzz>U35u*TQJHIVUo%@@7$b2m(D;@Hb8E`^9iO#c8@&Uzqw!a9a+-JhOfdQB#dQc zj0-uZWWET#KBuO7Z&tqTw4KG?E|_`w5#<<$iKpzDQ9lMW2;r#P^IafnY3#k8-J6^U zBrv*klbVD{)=S;;qhd?q{bY$?*CL#s*$k#MTANJetmMwk2xXW+mt{5t`gYV}I5vWH zRGdLmVf&F*P7Aa#C~F{o;ai3dm*D65U3;~P6C&K^@vaS!kq@0jz1o>L?NK~nO4Do7 zjnctm8JMQ1QN-0o9Hw(FErxpOMvB#I4)ikq#W|^3h4mw<2{Yen^fyvstsLdi?jZa4 zquz4XSbKNSV!O0^;J5%Zcbi@fLo3GoU+02A2}~GMJsdix-8Q%7yu6bOYkbI0~L#GRLDyFzo%~Sdd*fM7nr2OsZ1Q1s8@UJeh8Y2Ju zMJv3P%d|;&VnatyhI!$E^^pox<78APF|y}jxfL;Xxh}3ol-GTJxKw|}CAJU?-8=vlm z!@MNM4@16s!4eDl6zrh7yW$!4uvAB5{NWceIk3nCg!21#%UlTQM%*ZXw%im9vn;GaspDMCEoZ>RRGh9iix*oY_KM|sWY7gNCDHxU{2i(8@nW9~xiFB6Q zBYYr$y#M>pQTXbcm{b zwyUUiz7#lIjSmSb0L~f#B+03T?levEz&O`kihqO03cZtm8&0YCM_OYy$wYTSBtBP|d%k#RtgfBaQU_t~ z0;mV;Q24MdC)>Khn%{TV$-s9ow4_ zNfgJE$y0a8`L)2}fT_mGNUSXwaS_^Y46il0BfjYK$Nq>4`OlcIFi7;Sg}NC4A&h(U zY=6TYo1vx)w3yZ}1K?xcm&N>JO(WJ4EQkK*>9%@KYEZ%A>>S}{9FAx15PU!+BrMm( znL|}7U)*mct5qNbTnL8&120^~_vz+0%?>hFnYf<8fZ^xofg}2B5fVnFHR{a9&pHSj zC(9-hoQHwPrw~|ujZv7A9g-P&m)RL#a3>;-_)+Fi_i#@KXqoB7gl_zkjc^A3$#1lDu@AzVKK@@ zGO!AA(kDx|hqYed*VDs4F8eN%M)`4bbN?0Y`g^*V?8vIr3BG7GV@u4+g}HZ&e7Bhy z)W6Q`QYZJUU(kq--{ro_FChNkBkAL}np9AIem;qLTdabu~RD-jTEg&!dTtIcGYHCgdGDF|=r zrW^prJJ%BIW+y+UeR9XZfJ(hP90Fpe*JtC$85Nm({r`xCj|7paRz=Xk+a=EOl znY*xmiWpbbb{wrIU-)Ew!{_op3UrjJ!+6h&x;pws7V8C2$hRu>O+aon2(l9;m}ny2 z37rD%UVMK~J(&(ehn`Nsh6^!#veVT#R&e1H^S?R5L(N?ZH6K-204Nv?*K>U~Y38e3 zWnDG#-yorPIbD*3=SXtevrj<}7=KziG4>EVu6SU=mLW2sc9N~bV~4`%0x3mYt-EtId%%nv{B8&t2ka-fZV=g z4Dv(N7PX$P$IbahddheTG>e<-gwH#V2jKWtHaqraghF&id~g2-VN6@JY-FxT_+qoQ zzpv*u)C1U=d*9a0YUPrd-B-g6!J&~1+4tto|0&_I^G#~S3l><11h4RW*!kP^EHu-S tZma}%qR{8)A9e@dEByaB^di3?m`>_5>i00)zu%h!lNOg3s}?l~{687%%BuhX literal 0 HcmV?d00001 diff --git a/UI/AreaSettingWidget.py b/UI/AreaSettingWidget.py index c53eaaa..7438a75 100644 --- a/UI/AreaSettingWidget.py +++ b/UI/AreaSettingWidget.py @@ -1,5 +1,6 @@ from PyQt5.QtWidgets import QDialog, QFormLayout, QLineEdit, QComboBox, QDialogButtonBox, QApplication, QMessageBox - +from PyQt5.QtGui import QPixmap, QIcon +from PyQt5.QtCore import Qt import sys import re class AreaSettingWidget(QDialog): @@ -32,7 +33,8 @@ class AreaSettingWidget(QDialog): layout.addRow(button_box) - + self.setWindowIcon(QIcon('../Static/zhjt.ico')) + self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) # 去掉标题栏的问号 self.setLayout(layout) self.setWindowTitle("通道配置") diff --git a/UI/DelAreaWidget.py b/UI/DelAreaWidget.py new file mode 100644 index 0000000..d74d61d --- /dev/null +++ b/UI/DelAreaWidget.py @@ -0,0 +1,79 @@ +from PyQt5.QtWidgets import QApplication, QMainWindow, QToolBar, QMdiArea, QAction, QInputDialog, QDialog, QFormLayout, QLineEdit, \ + QMdiSubWindow, QDialogButtonBox, QWidget, QComboBox, QTabBar, QTabWidget, QGridLayout, QLabel, QPushButton, QSpacerItem,QSizePolicy, QCheckBox, QVBoxLayout +from AreaSettingWidget import AreaSettingWidget +from PyQt5.QtCore import Qt +from PyQt5.QtGui import QPixmap, QIcon +import sys + + + + +class DelAreaWidget(QDialog): + def __init__(self, areaLabel, deviceName): + super().__init__() + self.checkbox_data ={} + self.areaLabel = areaLabel + self.deviceName = deviceName + self.delAreaRowAndColunm = [] + self.initUI() + def initUI(self): + + vorlayout = QVBoxLayout() #主布局 + layout = QGridLayout() + + for i in self.areaLabel: + if self.deviceName in i: + widget = i[2] + row = i[3] + text = widget.text() + column = i[4] + checkbox = QCheckBox(text) + checkbox.stateChanged.connect(self.checkbox_state_changed) + if column > 0: + layout.addWidget(checkbox, row, 1) + self.checkbox_data[checkbox] = [row, 1] + else: + layout.addWidget(checkbox, row, column) + self.checkbox_data[checkbox] = [row, column] + + button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel) + button_box.accepted.connect(self.getDelAreaRowAndColunm) + button_box.rejected.connect(self.reject) + vorlayout.addLayout(layout) + vorlayout.addWidget(button_box) + + self.setWindowIcon(QIcon('../Static/zhjt.ico')) + self.setWindowTitle("删除通道") + self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint)#去掉标题栏的问号 + self.setLayout(vorlayout) + self.exec_() + + def checkbox_state_changed(self, state): + sender = self.sender() # 获取触发信号的对象 + if isinstance(sender, QCheckBox): + if state == 2: # 选中状态 + self.delAreaRowAndColunm.append(self.checkbox_data[sender]) # 从字典中获取行列信息 + + elif state == 0: # 取消选中状态 + self.delAreaRowAndColunm.remove(self.checkbox_data[sender]) + + def getDelAreaRowAndColunm(self): + self.close() + return self.delAreaRowAndColunm + + + + + + + +if __name__ == '__main__': + app = QApplication(sys.argv) + # Client.initDB() + window = DelAreaWidget() + + window.show() + sys.exit(app.exec_()) + + + diff --git a/UI/DeviceWidget.py b/UI/DeviceWidget.py index 85e5ea1..78fb77a 100644 --- a/UI/DeviceWidget.py +++ b/UI/DeviceWidget.py @@ -1,5 +1,6 @@ from PyQt5.QtWidgets import QDialog, QFormLayout, QLineEdit, QComboBox, QDialogButtonBox, QMessageBox - +from PyQt5.QtGui import QPixmap, QIcon +from PyQt5.QtCore import Qt import sys import re class DeviceDialog(QDialog): @@ -41,7 +42,8 @@ class DeviceDialog(QDialog): button_box.rejected.connect(self.reject) layout.addRow(button_box) - + self.setWindowIcon(QIcon('../Static/zhjt.ico')) + self.setWindowFlags(self.windowFlags() & ~Qt.WindowContextHelpButtonHint) # 去掉标题栏的问号 self.setLayout(layout) self.setWindowTitle("设备信息") diff --git a/UI/MainWindow.py b/UI/MainWindow.py index 47f793b..677b618 100644 --- a/UI/MainWindow.py +++ b/UI/MainWindow.py @@ -6,6 +6,7 @@ import time from PyQt5.QtWidgets import QApplication, QMainWindow, QToolBar, QMdiArea, QAction, QInputDialog, QDialog, QFormLayout, QLineEdit, \ QMdiSubWindow, QDialogButtonBox, QWidget, QComboBox, QTabBar, QTabWidget, QGridLayout, QLabel, QPushButton, QSpacerItem, QSizePolicy, QHBoxLayout, QTableWidget, QScrollArea from PyQt5 import QtCore +from PyQt5.QtGui import QPixmap, QIcon from DeviceWidget import * from UI.AreaSettingWidget import AreaSettingWidget from UI.DelAreaWidget import DelAreaWidget @@ -46,6 +47,7 @@ class MainWindow(QMainWindow): # self.scrollArea.setWidget(self.mdi_area) self.setCentralWidget(self.mdi_area) + self.setWindowIcon(QIcon('../Static/zhjt.ico')) # self.mdi_area.setViewMode(QMdiArea.TabbedView) @@ -138,6 +140,7 @@ class MainWindow(QMainWindow): sub_window.setWindowTitle(windowTitle) sub_window.setGeometry(0, 0, 600, 500) sub_window.setWidget(scroll_widget) + sub_window.setWindowIcon(QIcon('../Static/zhjt.ico')) self.mdi_area.addSubWindow(sub_window) # 将子窗口添加到MDI区域 # self.mdi_area.subWindowActivated.connect(self.adjustMdiAreaSize) diff --git a/UI/__pycache__/AreaSettingWidget.cpython-310.pyc b/UI/__pycache__/AreaSettingWidget.cpython-310.pyc index 34b087ce54dd521e4694185ac07fd44bce7ca6ed..f05111587cc0a62e67c786c67cc45b10613ad5af 100644 GIT binary patch delta 821 zcmZ8e%WD%s7@tWtyPHim**u!IiqwJ+wqhDed#PHq72964OAo?cmTh*3TlZ0BCp0Mq zE77Au80^7Qa`03T#G8-5Lh!KvfCM~x6me!tA9R=b_`cu#zTfwlFWOOA4OLYE>^t)Q zIKTVq6?oXcb^C>%HM72ADiAopNqadzZ{`zU@KjS}nBW!6!YXhwj`#{VB7(iNSwxy6 zJx}3vBqDXY)PrUj6??#}pvs^+1P~x~Fow#5+7JvOQxi6mqst@SfG)+7@zAxsuod^e zKDnf)SiIqOe0wL(80*b2&|#c1$m3?eRQ-GvPQXl&rAhQ&Y8l4#AoXF96dkz-x%NI7 zXzY}RfRwi@MQ}f<$dKy($^Dp zP=~A`Z)dqpNEocS0j&#D4@#UQdUiK#6FklWJi*N*hn1~_YHfubJjT())VQZH!#jv> z(6_?0Sb#OCK>A7O^>~IfV+RBopv0i|j;v3>g%loR+6F z33EJ_Ez7svz_Rpl+Lsm8KmwInLlhc!BZdXl~#?Lfq&-yu;=)_P-o z0z}eYAX#s`Px=5xW3#l->z=-_)*IdN$*)^*72HwN($jCOM{umaS)Zm30MidhZ%oj# zkZh8$spP`YlbSkB;HHgxtcT=bp_oN!v1zU z&(jv)PIpxu(b7#|#Eh#N%dYD+_nPHfI(K(RF4gOE_x3W14~Y&573`(VH)0hxWiC~A zOF#4eK&YQqZcfi(@le}YgDvTgmAl~Uv&uZjhn2Ia5F?}u#(5)&v#cSLg!4-Z0j8AG z_g1{H;PK{;>6uUedkb-hJb0z2Ew)PiA3S}o}xbpGD|x&G~>psUSP av=jLNP#Sk}gHVe?0Q8Oz9#E)*bMY4#$90ha diff --git a/UI/__pycache__/DeviceWidget.cpython-310.pyc b/UI/__pycache__/DeviceWidget.cpython-310.pyc index 22f8afe4bd401279e671e429022a37208038adca..d95df96b49061a643459af43113e530d97238072 100644 GIT binary patch delta 791 zcmZ`%-%ry}6ux)sx^Dfkt!$_RBQItY!yp=Bf|H0O0zQ~kVodrnOK*e4b|trWVGw*U znE1ThKR}oGVoWfGXWgG5&yA02eDlRWzD+d7rDDCG1*^-l3@D)p8nBc3Hx(HAPi7x>XUAUXJG$gD5 zBikbnt41o$noX}8*c)-iTz0~?0ppZO9yq;H`Quj&W;7<6rN7{9*w~*;W#KF-pwcev zLkM=jnr*SlCZ033{dAqwJtyoa zOyuX@=kIS{eH-+Dy!c=Y(@BAtYUGl~UK@p*{AM`ESeAB--Sh3W$dWe`Lh^z6h^&#r zBMV`hxLva3`WtsUgoN!SuT5VIS74D2gv#7SM#Y!7t8zEO-6(Tbel=mYR>LkXb2M=k z9u=6AnMJcy&&-G#9EN#Fmox9G7kK*2l2j3==Zidj^;`~5oR*5!HJ3DPYzHoJaddtE zxi}BuI2~kbH(4ZtpwPFr)+$hikY5JMm+%m~b-6V@04@(R`T$*wOFND}l pwiKtMtq4zW20wm6?|9s?)CfY<@!dJd7!m(R#y}A&P-1Tx{sCDXtWp2~ delta 568 zcmZ1{vR8;NpO=@50SF4Czob0ln#d=^=rU1TQz42yg&~D0ha-x^ogsxeg{6fdg(a1- znK_Cxg(;XplXc>RASS=$iGm`V1sM4lS-F8GuuWEGvSpOmoXEt^C|1L`kdcw0hG7AJ ziXe!U!T{7IGsU2pyC(n_B~zF{$&5cXN~JM1t!mADVdzWDjUKJl)A;1lUSKw zT5^lMpeR42vLLlc6ewCG1|q~kgan9?1QJnPNu?zv`FZh4`4vTiAW<+O1Y&_K0eP(0 zZ1P1`QzkB^$vkW;r9?ndSdE)}p3T4!WPOn$PBkD2RBLYWrl*z!Bo-y+rk11@6&q}J zV0UC>RGHkwp>7T~4D4!ziKy;JGptA!Xo2PA2OP$XoRdX3wL(Fm3ie2m3Wx=gzQr3K zpPZ9eT%4SmlM^40WCA}(3E1l#Ko%?z*z(m*W{W!nbW|Qxwx{p lNDasb3nG~U55QX-Ho5sJr8%i~j3A>xdKDNrm^c_k7y+%SZ0Z02