From 61979be731082d20a7b08566aeecbf5548362027 Mon Sep 17 00:00:00 2001 From: catborise Date: Wed, 4 Nov 2026 22:41:00 +0300 Subject: [PATCH] style(admin): the group form has the user form's layout and a members search The group form put every user as a checkbox in one unsorted list, the members among them, with no way to find one: past a few dozen users a wall of names. Its name field ran the width of the page. It now has the user form's sections (Group, Permissions, Members), each with what it is for beside its fields. Members come first, then everyone else, each by username with their full name; a search box filters them by username, name or e-mail (table_filter.js). A form's search, marked data-forget, starts empty: the list pages remember theirs per page title, which here is the same for every group. Hidden users stay in the form, so saving while filtered keeps them. The button says Create group or Save changes. --- admin/forms.py | 2 +- admin/templates/admin/group_form.html | 99 +++++++++++++++------- admin/templates/admin/group_member.html | 7 ++ admin/tests/test_views.py | 17 ++++ locale/tr/LC_MESSAGES/django.mo | Bin 190784 -> 190958 bytes locale/tr/LC_MESSAGES/django.po | 106 ++++++++++++++---------- locale/zh/LC_MESSAGES/django.mo | Bin 178386 -> 178557 bytes locale/zh/LC_MESSAGES/django.po | 106 ++++++++++++++---------- static/js/table_filter.js | 10 ++- 9 files changed, 223 insertions(+), 124 deletions(-) create mode 100644 admin/templates/admin/group_member.html diff --git a/admin/forms.py b/admin/forms.py index e92d741c..e5962a39 100644 --- a/admin/forms.py +++ b/admin/forms.py @@ -39,7 +39,7 @@ class GroupForm(forms.ModelForm): users = forms.ModelMultipleChoiceField( widget=forms.CheckboxSelectMultiple, - queryset=User.objects.all(), + queryset=User.objects.order_by("username"), required=False, ) diff --git a/admin/templates/admin/group_form.html b/admin/templates/admin/group_form.html index fb763810..cb322ed6 100644 --- a/admin/templates/admin/group_form.html +++ b/admin/templates/admin/group_form.html @@ -1,50 +1,89 @@ {% extends "base.html" %} {% load django_bootstrap5 %} {% load i18n %} +{% load static %} {% block title %}{{ title }}{% endblock %} {% block page_heading %}{{ title }}{% endblock page_heading %} +{% block style %} + +{% endblock style %} + {% block content %} -{# as the user form: what the members may do first, then who they are #}
{% csrf_token %} {% bootstrap_form_errors form type="non_fields" %} - {% bootstrap_field form.name %} -

{% trans "What can its members do?" %}

-

{% trans "Each member has these permissions besides their own." %}

-
- {% for box, help in form.permission_rows %} -
- - +
+
+
+

{% trans "Group" %}

+

{% trans "Users who share a set of permissions." %}

+
+
+
{% bootstrap_field form.name %}
- {% endfor %} - {% for error in form.permissions.errors %}
{{ error }}
{% endfor %} -
- -
- {% trans "Members" %} -
- {% for box in form.users %} - - {% endfor %}
- {% for error in form.users.errors %}
{{ error }}
{% endfor %} -
+
-
+
+
+
+

{% trans "Permissions" %}

+

{% trans "Each member has these permissions besides their own." %}

+
+
+
+ {% for box, help in form.permission_rows %} +
+ + +
+ {% endfor %} + {% for error in form.permissions.errors %}
{{ error }}
{% endfor %} +
+
+
+
+ +
+
+
+

{% trans "Members" %}

+

{% trans "Who gets these permissions." %}

+
+
+ {% trans "Members" %} + + {# the members first, then everyone else; each by username #} +
+ {% for box in form.users %}{% if box.data.selected %}{% include "admin/group_member.html" %}{% endif %}{% endfor %} + {% for box in form.users %}{% if not box.data.selected %}{% include "admin/group_member.html" %}{% endif %}{% endfor %} +
+ + {% for error in form.users.errors %}
{{ error }}
{% endfor %} +
+
+
+ +
{% trans "Cancel" %} - +
{% endblock content %} + +{% block script %} + +{% endblock script %} diff --git a/admin/templates/admin/group_member.html b/admin/templates/admin/group_member.html new file mode 100644 index 00000000..a429e639 --- /dev/null +++ b/admin/templates/admin/group_member.html @@ -0,0 +1,7 @@ +{# one user of the group form's Members: box is a checkbox of GroupForm.users #} +{% with user=box.data.value.instance %} + +{% endwith %} diff --git a/admin/tests/test_views.py b/admin/tests/test_views.py index 741a16c0..9100753c 100644 --- a/admin/tests/test_views.py +++ b/admin/tests/test_views.py @@ -53,6 +53,23 @@ class AdminTestCase(TestCase): with self.assertRaises(ObjectDoesNotExist): Group.objects.get(id=group_id) + def test_group_form_lists_its_members_first(self): + for name in ("zed", "bob", "amy"): + User.objects.create_user(name) + User.objects.filter(username="amy").update(first_name="Amy", last_name="Adams") + group = Group.objects.create(name="Ops") + group.user_set.add(User.objects.get(username="zed")) + + page = html.fromstring(self.client.get(reverse("admin:group_update", args=[group.id])).content) + boxes = page.xpath("//div[contains(@class, 'searchable')]/label") + names = [box.text_content().split()[0] for box in boxes] + self.assertEqual(names, ["zed", "admin", "amy", "bob"]) + self.assertIn("Amy Adams", boxes[2].get("data-search")) + self.assertEqual(page.xpath("//input[@id='filter']/@data-forget"), [""]) + self.assertEqual(page.xpath("//form[@id='create-update']//button[@type='submit']/text()"), ["Save changes"]) + page = html.fromstring(self.client.get(reverse("admin:group_create")).content) + self.assertEqual(page.xpath("//form[@id='create-update']//button[@type='submit']/text()"), ["Create group"]) + def test_user_list(self): response = self.client.get(reverse("admin:user_list")) self.assertEqual(response.status_code, 200) diff --git a/locale/tr/LC_MESSAGES/django.mo b/locale/tr/LC_MESSAGES/django.mo index d5d439cadb6d2bcb9bc318250c46d25164befdd9..223579b43c49ee5a638ee73964320150b0616e16 100644 GIT binary patch delta 42605 zcmZ791#lI~!iM2VaDqDo$O!}zT!IG+?(XjH?t{B5?(XisxVyXV;<~t8?0>)0O%?Ue zt=Xr$r(Ncp1a|NKi+-;!`MG!FMV#tz?Tg|#$uU7e$Eg|JabomSs^hd;>NxqZHRi-6 z7>YNsJjPn)I3BErA=n=?;xe0l33CwtfQd2Pa??&YQjhC2Adrd&lTa0G#bkIF>5KE# zKF_nlancj7iz#t9rp2YG22W!;{EEt#dZnqi0%`!AQT49Dq<9Q7(!TQ#0gWiuD#r=K zBA5;bUJqb3lrahHSr^s$MWkOr!me(rT?&2UvHkT#TKN0!=l(^gPHnen4kD9tcXcA zn*6QMZ9u{{0#z~LCNt%&F(&a9sHxh9+8gIlQ~3%TVaR63$%doQgS%1XZljjwImX4f zTO21grbfj>Q8QG03-hl6%}LN&cSTL{Ce&K(!+LlVHS*kB%?!=Na>O^F(tlteHr(bo zS#c1i$4!_A@1Q!KXuDbB${0+1+;-+ah`?47;^R%!+P}s^m}G|;NiEDm+(i{!k1BT! z)zEj;)CTV~o31D3B|Zyl;bp9YnRc0cBQY`Y>n?!|1m2(rlkYZDSOAj}FN>P`=BUjy z*t!4{65orF@iL~yTNsAFklA;_{x$>o57qH3dmN_{*2J9Xt{|XYeit>8D0|J?X2<-* zC!^N#Jl4g}s0OO;bDT6d0aM~uR7WqPM)uaGN89f>rHO}NTkL{54R^7>&VT9yj^j_l zLd=7EuquASP%LxMaVp~g)UG~n;|UJ2KZv(LRhag$S^Kt_nfM&cfv0TTIbzbYUNxRmA8Mo*u_VSi<~XIW25M&JqsrYzjWFSHv&kA_1LCu6{3}i+ zp5uf$Ehka=zhfZnJ0(s!PE%}!MesC+VC++-r+F}#xQp8L%Tb%{1M2t{JI$HL9+(fi zoH1*=7PV;~pvuQTYnC<)qZ6NluFm6f0&*ut##7ddsN;D9qu>*p{-2G1Lap^rOn`~b znZ1w!wHL~umbN7Z;1HX>7`3_gpJV-%@g@n{&7V;nh~fl+Z2YGAw1GyiJfgne)s)w4UOia(=9_6wt7f(xdhl&JLd zsJ&7MV_+3bf(Y1X`d*G}>mEk6N=`7>GA9JAOwG zX1Q#RWhLt(tU>w*)X2+TF{h<3<|Td@)y_{;$5UPPcFc9c2x#g`pr)!S2H_yo-dKi_ z@DL`%6BrTiq1N!B^&P6C&NVXwsW2|lj5b~nHPfX~d#Mt()aQRA0;=#h#>X?L&GZi{ z<15tE{lGZrf8D$nGNL-x3RQ6j8}EUtuODW_L8v8Jhgymq=)psnjrN^~HX+dsvrBVh z1=5?K3U0(yxEr;b?_x`Qgz9Mdo2KKnQ5|WI>R5Nw^S-D(GXgc!V^9N`fo?VeD+y?- zZlM}@g<9(msI?5fWv03&s-otok+epC?1tK;f1x@$6SY)-V-mcG>d*^Rxwn`Yzu(gP zpFo1!W(0XqBQA&PNDcI0eN;yVpq6AECda*)0dJu?5ao_B4r-)HQT3%o%|uqz$n)Fu z@^_ej^{gfdYOp@4fo7=9)eY6t!RWzR=v@j_zPr}f)}N^SvF@6Yr$u$V5UN8RF+KLf z0=V2IP?W$U)Rd*WXDoyXh*w87*v2{z)$j&XL;F!3y^h+vkFf~;57S_Q`{uki#Zck{ zFaS59X2!i}1GiBxkjJRK@DWu}lz&Wz%3wU=jZg)fyyM5MP;0eT8dQ|h#OH2T|$lg2KwVOOo5Ren2x7L%|LckM@pbJ zTSW}VI;e){*yk&}&s`cIpkwnlYGj8|Q+pP(;$u`ri60tMp*CM8EQDpS8ji+{cn?!z zj7Mew8BkMR9+P5wOoJmZHtjoW38({mP}4n*z#?5LS* zfEBSVYLo3ob@VZ6X(K!_KY+wT5Ak;Bs)2C?RN-vY8m~b$xDT}i7f>_v9;4t7jEs?< znhwT5bs!mPii1&`HxyN_lufUK>PQ3BQni1|`l|zjNKge6P%n%*s19vK6*!72a0S)C zGgP^cHXh-bnX%ZYJ&_jG(PGwesQlGX18ag2vD-7|KN*4EB&gyksI^{zN?(l{=~1kK zXRta3JvSBfL5L(O zX5tuXCa$AK@B}rYuc*x$<)!Ih04jeEoQESY2Bv*w%7_s531w2|1;;jH!A;jtc^!77z5sz_d!Wi`e;;p50Q3U=M4cJ zk0@`=x7T3Q+BLyA*ao9xU(}QhM{UY+sC?_u+c1_Tegu^-?mIK$B&a0`M&&Pnn%Uww zf%cu&1T^BW7!BjRH|H}Mssn{l>6I}q*2ON^9?Ro>RK=M;n5oW%C5abBb$pCXpN86W zi?JB4z~VapuLu;x(2vG0n3MQM%#BYl3S>3nfrXP!(MzG$arU+gbZ!0^*}FHqJ*K%k`KGkE1I1g^AGbi+M$-!o|PN9v+xpap6s+kRpGg9!8|LFaZ6YVG!;HrFxCfziI2f(20>E{a<7N~jJtuy#N# z)c}l-BQYt?L3MZ=>iI#`^V46M|5OC-lMo3b{Lf^FhU#H_)CkgGRLq0g6XB?lR6%XV znl`;RYBP_}5N_y&_zs4GE}+jr~!<}RyZB=q3irKn=1@813ghw+8D?N@MoydQ_dQJZ89s-o?vH9Caq zz%|T-_fS(G)5piV2jXEcaSv*QrBHjMvW+*ubi`X?5}b$`aTR9J`M*X$YaPMY$2$WF zQJc#jH52Jjry(zDDJod&Tic;J*cbcb5S#83!N+?{<6vRZ!%<5#*g6*5(!Mi|fIs?1 z^zlwnN>mTipgL9sOJg&vhwCr^{UZ5z&wmEgj5I~fTr1Q}cEdU7qB@v7vX6I3f>4`2 zH@a%L4uQ1T1Bc^W48@=*rbD$*d!r$0(=@l~3sC2OIjX_EsC*}E{2Z!7H!&eT#-#Wi zHM5DL`ncZTXrzs5*19XIzzEb@PDV8_2eo-Nqjvu;)QB%yuc6A_wmwDefe)x9^ND6g z9tX7qsZr^fqPb?R^V@_nn4AZ-Q9bN|>d0`^$R?m(y;Cs)9!2FliD~dA7C)M+V!#jr*q&c8-Hn}qau z2^-)~%!Bn4nxJNpG7r%8&&aR)F%6c+O!dpm`&`5%9j_FuPCaXs!2Hi z+U>PS&`iujo%6M*0-I4Yu?JP*QB=OOsD|#K-jvT#e#sHvJ_Gb}(gyad(Y8q~4eY15xzTH^nq$|p)@Iv9wViDyNXYly0+ zowXaPLvB9;I{%|l4ev)y{b`#alD{b!AGH_!Q5B{_y?CO9v(Z%?h=P$TPyI{zb3yLtv{EmvV`+=VK47qt|R(St8h z9gdm8%ycr;^Bfpm=RY3-tx<7Q#xkhmR}-}~T~TW`4%NZws1dEP9z?C>b=0ThZ5vOV z((E07)Bu8PJPWG5JQ!2wzW{;7SQa(H|1bqQ0j9x}sF8)D2g6WPTo3hO)E6}aYp@lb z$7-0@qcEbsM8XHn&NCWJvXYpVyHb-&Bp7d;{2;XTM{%y-B45QqLyM5Y6+&HHrEE!NcP(2 zCsF0Ep~~O4@fWC>{9xmeQk&ek7{HOHm)cn=lKW!a)3n!I&bAsjoPO5HIf%(3o$K+ak^GIS=$L(e zA64KBYHtLlHTesnI?x`KJ{p5?1!^;%L5(KrmraisVm_w*(L;K1)Td_))Drcv@!_bB&B6@012rQLkr{TK$mvW42~oQ^ z7pg!VR7ZMYb{vT6&}P)}{2P_;I_fxm!esajwO10QHysZ`HP{Tbbi+|II|rla{BI?Y zlY~8}sd|rPFhU0N@mm3Pz9*p8crvPE3s8Gx1!~E*qegxZwNz(O4Sq(IkD1YIy11B& zcqNRY^FM-sHr)hN1(Wmu=UJDbrhXk(#RJ#^6J|0q*AFujpKCph+5_J(4SF)0j+a1v zSXISxI0D^@1TGUOjX_yV4?Cdt!dleSo=3fCuApWha#nNxQ6q1T zdJptP&A=ek5)QM^$7kjI>xHv~1QpzEGaN!K#c3>zx2-9%nO)rg^&**xn)(H(dRAKx zqGs|2s)LVE9gmUSELl?2W(~>C`Bw$`NsuK`J*Vb-`1>J8ZeHMPA^ z4G*yCqfrBxg5FoTeZB>?*Y>08Eu7Pw7PmeD^{f}_g)sxQ6ql^GP!&F~@t3G$_5n3x zv2&RYB}0`9LM>fJRJr`t;;3U+0adOg(yr@tA)tbjP$Qa!8qosO8m~dk%x2Un*nw5> z6lx|?<~BIy)!lHT2&vHvpyFNiaV|vug7Dk=2MyRFTfJN{dde48sF!M$$ff{)e)J$|h zZK7_d-8ux-q3P%y5vt=WF$lNY^xLSBK0$T(Kh#n<`At31P|s7Ks|wTDgp8lWnvtEa6< zP=Nuc4ve=MW}>Ek8LEL@sD=-sPRj`!k66gefS)xP>iDHYb*M0E4^=?TP$SgRc6AA; z;lZdLO|lQ>qjvE+RKu@P6@5Z2LBzu5Ln|CJ5$}om3|NXfW|uK7zC!J(1mR`|Jg9gY z)G>Cm5y(QI9BO3!Fe?s0&CC{Th9^-S$Wp}QD}d^7G1R-gGU|DC49BLZy|EOv_S;aK za6f9mCy<$Sof|g8D^!D@QEL>lsQJp23iV-B2DKFJF&z%F&sU?qBVI!9-aviB@hxT= zPKK$82chaIg=w&@H=Xl8k${JUt(XI^Vs`W^ZayvxVm9JkP+uCCpho%twKQ*0BmHXA zqn9vKodmU)QeXoN!G<`(ra!@`wC}tlppk#G#w}?Y2*xU;=R|#j8Hw6FtFRjGLGP|F zWk#F~3y_{2wf3D*OFA7jbMsKAY!e3H4s_MS>jbOfCa$6Qo{lTf>RCTg>-K+Vt=RJ}(~`A(JQ{43!i3Eqy_2MBUFQNDw<849`yyLKI;9@7q!V(*>v|F0Zri# z)TdI0N@nwPKuz&f)TVlhn%cCL%@2=dQTZof9=w8OF;*4xU9t`;z63RZH>fw}PYlDn zRlTRnb-EK!k5;0l{4T1Y|Di@2P|Y-uAN9ODs>2geBid)vU)y-}>Sn}wQT5hDP4!rt zz6A9iIEdNw`TvMO8xj)NFq>>Js^B^-hYv6(X02&{Yt;g45?_s)nFzIfoGBQNb@3|Z z#_YAti>3`$BmNg^rXHc5r>w(!N9Vr=fwb5Y)$ly5h?h`Pmb$KKpaJUL{vP!Pj8V^g zM&!a`#CxFDemB;^E2yc?THk(&MZKCwqxRfsbhU}@+YE0p4e{6w%x}eVqBc)o)Onw2 z-Gl1DKQ`{y&@5RNEJS)W)O%tIY5-eM9sCa)Vva^W-oJ!8r4i>}YxszSyqKV|sh|RC z&Bmi%Jj+m1cpQsjiY6w1V+P;J~nK>On&0I58 zHA&DreiJsrhp06w-rQ`q{;2qBR0kedgIky%P}-ut(X7EEcnUT36I+^ZN@p+^@iMK< zUK)f;h;MfZXwB-iHVyPZ6x8;AO0@)|Q> zhK^>eg1nonPXH9Jv^9X-E7k@V`Y6;Gu-X9UW>eMlW>;#mtHmYYcP)l+iwYi>K<8||K8WYclnu$56 z=etoOet@+wc6W1XTA@Gj;iy;hBJ_3uTM>`ggH5a{Y)?SDb2*m8>!=rtr>FUWp#hd4 zz7n;DZ&0TtbuY75>SH0|Gf}VX8(0A|_BLzZ7e^6af;!Hb`gmUyY+_N==39?y=Q^t1DE-ZVbNA=` z>)5p-L2tfUs3|&!?J)8HGm@@Yk@!JO@55f;*sdjBV4#ol9baH;d^*Vd32BwV=5(w_ zEx`@c5`4r3=ow)XMHsUC$1@Nd+s_X2A7KSxbvreS94 z%cAzc7}Va`ZoPmyhA&WiCC6}6Z#~q~PjCrn&0~)+UyW*FY~uCNgY7XHjz@K1rHvm% z?U6gECGj6=W*{7E5?_rRFDJq%^J2@5iHNtxZ8#7UqnmrQ8F@w2vFc`>hH7{RYDAYX z0AHcjGUgbwhWSxT*dFylnvdi01nSeX)>xBoDQXF?qUuXK&iiu(fB%m_6B3rrYMl>3#gYi+%Goy}g4pg~zsC)xZOFR-A;$GAYr~FIboLGd+ z1fq}-iuW)Kqoe;sv!-cLQ&$E3ur)@+?x>ILKB)2wtt(M8wGq90#-=|P!&J7enTxujLBwcbD>6F z3$YR4mCsfQ8V)r=0lY$ZPV*a1X2(<(UQSa=ts2)E@y)fRP zmL$ep(~&^b^TMbOmqHI#M;+H5s1LPq7=o)%Gja(vLl3cr&i@AjDo}QwnffNE4lG3N z;ysuFpJHuHFyE|s2h@wDC)UBWsCuF|We=-4`)AgvS zxq;eDuTV?y*2bNM=A9l9)xkWN1*@SN7>a3dk@Yw>B>ozezrrFj6KzlfnvC9`|MwBl zW;lu318-4N`VF<)qb@d^FBxhnnxdw@KPvw)>jaxV6Sb!nqUu?OTH4L_`99R1IkuSd zuZ(9&ke5(XblqmWi#lG9Q62dYRnTXN=|EIexj3jdVnWn=ATw&y7PHSQqK9}jRDIo1 z9UHL3H9Z?cf(lHxE<%lLEo!9OQ61Qas^9|ZoZqzZr>GIWMQySlsHKdx)NI;RsPx>{ zQmFcBy9AW6tyOWY{bW=_(@`_B0M(&osI}gJ^YAR{W4rw_vk51lzJfhR?S+`j&GS%e zbqpfCC#FMp4gu}*qnH}sS`)4?n~U+--}xN<5&UDpk^-lD)X7) zL3JoKs=;ii=LJw}ACA5{{}l*m_g6+`?1efmLs1zQpk`(*>ci*)YUG!#cTgR9j2g%b z)JVUfIv#Vi*;@%w`8=qBros3+{}~8qa}+}Luo9|ZHPmsdhpM;-s)FID3dW$Oc%pR% zs@!~3ealgAz#XWWyMp@0^b0jJ$<}cG^AHFj5QL4<+W@MfF*ZKgI>R~_Rly=uM>e2l zZX4skyWehXD`;>{+1UQ`F#q6ddzR$PY4f6XOOhCuu+=4*8W zR0HF%EpA4As03^^Kl9~6#XF%sTt;AKoP{BH0(D&9VHJ$N&3s>|kHd&x!D?7{yZNP; zyMcfT`0p^sC=_cFA8fsewTWlnX&h^PY%RRY#~H-)S*U!;cbgIRz@o&LV`Y4S6|unI z`eQc+h^=(~UzmVXZI9Vhdr)h23U%z>VKz*(*ZiDN3bkohqw+mOZ92bwreP0i^HoNj zf|jV`+zU0cQ&6XA7Z%p}KS@C6+;6{`i6q#PcvkFAS-U0I`A(^lp@kyw){)M?Q z@Ss_W+E|?UNGyqGt%(kqW7q(-cSd4To&RkFw1($V1%F`ht5739gvxgp z^{#i0n>Szr)Rd+`t#MI&h*PmN_Bml@<}k9>{2R|EU-OgZ_X^uja{hDj-~$PrG5smC z3Fn}u^ab|7)ThnY=vf#{{1a+TQ=TzDPUk}p@%E_a<58P!8+OIWXU!LwJ~)o}A=H=I z%I943ZMD-mAMd|j`!{N;Q=K<^pd7X)z6CpA$_qZu1009Nu=7RpqS}U*h!V1@M@dWe5QO?~3~=2e~#wdS=@={+%#&i^a| zYG@TSi>|7#jdj@lz>Pz~j?>E%%6tD`n$chnnl7wSvxd+SeYv@v)MKLn&MRn{5>P7SvwWf(4nvMsfhj#8ZiF7&cE&W1%?o5Yb|HQlD`Uwg=5I#L#Nx!Ar{)b> z0`;lc9W}7Ar~yrX>YAV7=8>S!`^(mM7=d`4XJ*qRK+RAnYIEkdR>X|No7m?QP%|>a zy3(favhhPWl;@XGd#$$n+)P~q)ReVF?e5;F8JL3V*e=YD*HNd$?}afws$>4By%U5w zw%JfKThH1BwHZgEW@Z;^DP8BKX(%K6G7YpvP3a(1 zN5*0-oND7sP@8ov>bUO15_lcypz8#@Hfxa+gLsf1wbqSM6^%qK#dOr?_H0zoSECv{ zi=lW8)qvlBW)B6Sj$Lt7Jrz+i*#Ol}KTNFizmR~YekW>E9K+Oj7B!XcP-~jvjcFh= zYAH&hI?%^D1l7T@s2QAtYIp^z{C4!dPf+dL#^^f#4+vmDate@A;Q7DZW8QSqq@bSHjXb6dU7NboIHP^}Q)r3e}M&7>wPlb8Pxy z)YM-^jp!@tSVjL}K5he1r=c@y^UkyJ!uFk1`Cp)V^s;re)?=tCK95?uM>hT*wM0>Wng+62OQHr; zAGKLKq6Rb^W9s}*BcPElL1jFMYWOm0X8u8qKiki}#sD`Vd8g7YN!}hoUM`0ICAH&!C0-1~I&{8ain@~&k3$emlD;1 zjHszDh&tAFQ5|iE+U&iNfx6Bp0-CBhsNK5}HMJ*DAH#PrANs^KBg&7Ok+P^)XiL=0 zbwthBc+}cXL3L~`>P58!wKRt@J>JAno&QMj%o^pz8ayb9d2tr%#d8@oqC2Ri`44p( zeB+yrCPh8Zgz8u!)Y{gy=>t&%oP;`E%TXOTkKVuk`;CCsDnbHNaXi#aq(hA$9QChyYK?}W zcK1}&)crtpBz|IF@2}f3p_ZUFsw0ijgI%yQPDagOq$Ix10E~s&GvhEb9!SFZ*P6W{ zL7U?fs^JJp&631NHIM?EVj5JwQK(P9X{Zjp!TK0InVITVSekf$)Qla&26z_pU?zX_ z25jNa`B#OjNYEN?N3GQf)GPBYY6_pC-VgrCP5uDX>Bxv0KvUEbwnmljg+*~32I2+G zkMFSnW=&!CP6wBODj1B~r6W-lO+oGA#i-Npw@p89pmo)Df)sr@fT`$=k)kGjj$Y!#I>m1n=8;9$A+kxn}zDga@1OH z$8ESDHK3lU%*+nKY{aLc2ajPIo&To<^q~FS^c&=&RC(FN79fvBYzhdP#vY^Cw>Xz==|qRV|rQ!HG&$bQ_v8#=KWCTc_6A| zOHmE3N9~zy*5j!6!%bAjUZLKcKT$K0Jgs>iVhzJM`uwjzz=I7@6%It5`$?z<=VD1* zj_S~Vs0Q9+28V@?kwFC*$`8q2x6*j@sm=&|6H!r3}Sc>?_^qhYcxIjWZ zyoaHfKZEH|C)DY1Q6n3Ms&Kqbe{21W-WL?ABk?nOHYpv)3chWbGral;X(A^P1FnL8)``sW;UmyKI+sAN1cYb*cR8KI-WF(*#oIi z1I>&Y=opuPcIiIUdB2Q0zppR=Q)M;Z@rqyw@u8>=twrsXBd8Hx!;$zH^>aeUY-RwH zPz`QDy&>af_vOE=!E@9=+~81O?_VAZM>Q}A%itd+ROehBp@JdJwc#K~z4Lh5myJOtE}!l+|a2US61RKuN6yS}@%H)<31N9~=F zm>;KMFkV8<=r`0-#K~noZavtLcv;Mit1(#T{{ey4B>3evZ?^8JW3>TQ!EIE7FHs}- zj5_CjdCZ7YVshfSP)kx3_1VxIH8XQi9a@SS;4aiAKA?1+|De2Pm*++8%0f0?4mH9m zsJ+n$)j)47fn!klFQVRX_b@enLp2nT&urSXsLfdtHIofc`J15k&;JJy&0o@+9?FR7XmwNvTcT#78)|9$V`&^4#`)Kq>?#Qw z(GygIne&^5@}W9X1XWRKERQu%GqVJ>6q}F_6Xyu3qc3bcZ2@x{%3&Dk9Z@4+jhd-r z1vvjYE-y&XizZe<(_jMB3&kI`IkTbmLRnP9by07$)~Ir`tP4=bb{T45M{WEXY9OCc zGxO8NwLFAn@tBRrFKnhdF{&XCYDTl8 zFBY`%aNJGYEl)se5-r^HJPB&#c~A{hK&^EZ%!VB?6D~we`8gbhAF(d>En+@iuVFOe z1&W#(EQyVYH^w@62bcFP#x@xn)=bGshxq^R4Y+ayU9M^ zi7I~#Ro@L8e}-D>Z>Wx?EUua1{DlxuLJm~Hf*6FAPz`oRH8cb@m19w-WrmF}w(<3- zbG{4J!E-kKKB^-xunK-db+|$a+SB>3PCyAQQMFzuOewDeb>uM?!jGu;K+X!r>ZpNqM{Vkfm>=i41a!V{VGaC% zrLk;9vnQsaHqRW?$kw1X|(;#qPKTLoj_6^G&HL<|RG{wKP{T9Y(Bb>dTCUi5I|1H~?$n zIpoFVI>FV<&vIQ+6`VnJ;2Y{Il5cf0!d$3hRRpz`RZ&YZ(mr2?+SQv-<68eulnrYeGZ1vf*Dv=!b#YwHNL4mpGdEchswQL|x-5)E+rgm-8P^;4=xD`n>hbNJ?2NqZ+J(8L$z0 zU%}`dIcnw>p}v}}wCQ_LGja@d?9QWR_9be7KTzcY>vR4!r6KiA1({FFL2ar^ zSRdP>I&cEDL|0HV@fqu2lm@0_O;GvTp&IIidLg;k2B)Bw>X#CL(s)87@@KGEa+h!k2?R$ur?mT0hpqR`3=e()ZTHLns3E!Oady9 z2Q{VDQB&Cvy{}$WfeAK!4yxxHP#-o&Q8V@vHDghlnfFOd)W|)k%^QrGsp2-hI?|r& z)FYs&YJtkw#XNBSLhXrJ*c4ad5scZ~Y@$o3&yG*18H&}ybT|!0ARdnDSaH-$R=^N! zh-z=7_c`Zp3ISC#7c<~i)Cm7Ub>Opo9=W9%QA$*WX;81?T&VoTtaVTyPMuIQFa*`X z(WrJ7qW08IjHmN|nSiF|33?kuy;vf*GCd7IO>G9uhuKggY=$vP0V$^Jr(d@1V1 zvkrCq_M`GYKrQKebd}(=HVwzYDntWNd!dU>?}rtLk3oID-?XM^V>VGE4A65-hpSNy zTtRK-e^E2=96jjM*4O*j@KUwq{OkBNCP5=>f!d4o*XD1;w52|5)?1cq!D{3h|pgvw>b}(rjafUHKe_0G>cD=i zguhTDs?^z77q!V+phnai)$jz=?w*Qz(JaK#7^92XtkY3@VkriryPbeOEbgJ!C}LM% z@88w(N2L$Nl(-Vx<8jpH%GJ&6=0aGQcumZLGf=z!IBG`Dp_cd+dhi`;$>MkSZbtt5 zuLLxL9H@+CP-|8ZHAOX1FQQSH9hagu*L75fAE7quchs?p+{27C5cNC@YGz8HI#v#~ z7ph_sef~GG8Tz6|ItZ0<0qP6May)=nun$h}X+|8cm#?#ecvZ}b-%%aQ)Z5HZK2!&a zqE1;IT#Ie+GA8LmM|J*R5zv}_L#;`azGeoppwe@r)~qOM>Z_xsumP&09Z@sZ1GW1H zpk{2cjjzW##1Et10|EWaDJz1mUL*|(sDh@b3fiKkXrOfhYPZirb!0zkN-v^z_jT0F z`Sv$U7Kk3=RZ)AQ8|r(+5}SS#Ft`4Ou+HXfz41arkPkD zUt(1(Gtm6%W*#;m9(9n3w?v(e3s?>xqE1=1!S-}vIPv|1sVIbi?-29u&w$$XHBmk6 zhgy;Yr~=PW?}rRSO}1cS%#T6WNpkyd?@O@uo1PFUbr@)#c=b3 z!vbu?gZrqN2_Ip;nhnJs#2;f(tUuD%xq%C@3-%plX6!X;GZq}}>-|fr9Z@rI8#QC; z#+aGzk2+26LIPm~E@M56GuCvZJ?55O*{dU>+^pG0Zq+TRKb5y$0p5RX6o{zmY^l(!U?F4>7%HndxvGw zf1=sEEm8IKLv?5$_QW`o%r7QJqF%wTF-+$_c(N(b6t(M@p^nd1)Qnufl9+jl$=3t5 zn|ES)e1+PqVN*@HF*uC)a#RO1O*1dJ8mJdqJM4t>FptiE?CIu5t5R5k_+Hepi8RBk zQBKT9ycHJ0#i;ZA0Fz?DnZC|_tc4m`-dVoh|HGj!n3H(a*`|C!ygU5Ny!}-^4 zY(PM}cm__xYuFq+%r$F!8MP#z(1S7OnI9}NqxMcUOoe};>e-AQe23a(@#mX2X$jP) zWjCyVGv;&t^_A!e37XWwjFl+3hmSQz(W{%+yjJ435_erR7Z&7<9?;`Ul+8lL^ z*IO@R0ped#Gnjj^X{YC6*NkL632At61=X`}s25F{CFYmLD^R;R>QYm2AnLrAKsDS7 z)8iD>=G%wL@4L(#M}G_^UJkV;2E{9l+K;%*1A2=N##iwlE{an{4%U1{42loB07H{&rvQU%l#y zT8eq7_rzw@v3r8N@tmDI%nV+|0NQsF>@+Ws9H`AS6m>o~puQO$Lhb$=sF8VgnOABU z7A8IkmH!fICLW{mN8D{@t}JS^b-G0*p+03e*e*p*j|dQLro)#;T|#n1V5IIqH~gLCw$`)J)Vr zYJPOk`PvW*UVmc=(t(ZWmCm++P?Q6CF3-j?<#vY#C4;s)W(8p-pdt+9MM% z60Slm;RaL(4xmoiE!1gp~sJ-A~YFvgMJc*i-7pR8cp+^1#<6@kX zrs7nXk$5fC^I@1BXJ8gQg}ez}=No~_Bm|u@-{X6rIxrAba2iI%m8g+yLO(o&dOw`Q zO85YaV2;yfiF%^)Pe9Go0@TO#dZc0J2Nu%#PkY8pZ3|RGZP6FIp$hgy?f&7Y4$Vh( zV3SSXi`vcCP@DHNs$7h-Mt{^=r$^0D9-CeUy?_6|w$0ESQ<0%7>XkXoy2*MLwfUZ- zX2|!PS+XRkH4nkQSQNGC_F+-Xc;39KJE1-kPNMQByukU_t2Qfv>ew0^;Xc$c@?118 zis9Ik_;b_W112gHh?DP@8tPjc-DolEbLIavJmEH5-q6ne(p#$uFC!3q?(F zDO7>Fs5e>*)Mgxt9$byu-KQ}pUc^2a^@{oB@(`>-{1ygc=Bs82D_L8k(g$DV{HviQ zBxq{aqxQft)KZ*BZL;^M;}hkY8F3)$xQ3vf=R{Rl8ubcqi<;T#s6BBWwHY5_ZTy7# zEU4sOH=p0_QJd&E>P`0)HL?^p%wMsrit5+})M>ei<1ph*(}7*64xY6>MSbD$y=7iF z=`j=W%%~Zyhw7-?hk!=13?txX8{dxlY&eYCG$&9?li;@bju(u2FSNikI2zOA2GlXT zg<7(7cg(r3gqevCK@DURlHYZ96VTK=wthzK{-}4&xeh{2ZFkhMn~v)6V$|l^VBanlmgXvH+m;rU}^Ppz7yiKo;%HIS-v9(J;$7(KWCN`jY zb{#n${C~HZ%@+5G8Bros1<6szH8rZCVAS5oj~aOe)E=mY+N@1&dMi}E4ybbOKmw|0 zDyrd`m=Twwmf|w1!cW%kR^O*)hN7aDCLU_!Dba%&FcX$TEm0p-zQ0gEBhEqgl4Bn+A7LM;XfN8fH5%hkWNr8^yhhdN-3tm)dt~5GhY$d|S~3!aqqnNam`xf~$lF zkygX@T;*~Q|A)La6ydr}p8xUu8Wtt}_tltqI`Zn8Pa7wAmYjG-{rT%5de+%K+)ZP< zZMY&C;}V}lVO;}lI-kVOXB&P^*^cDXhT4W3xI2(PBju`-mWjBo$+nJ1y$ zY8$OZd?V>Ci4P`xfU=E<@3nc?VtJQ`6?qVyNG8;E*p4nIjocs{!4}Ae#kfn8FE8n5 zc&_UJ9ZhA!Kj^@5(&~_JvF*rtZ!W&%koK16x}uT4JoUKzJ7?biq?!_QQRzV{(-qNn zrjxDsCeGlQzGnTt2Gc+sDm`z@Eat&#;`b<95jRm^eheVKhOn+lwo`LV)OCExke6Fm zH8ScQaL6{kf<{}}9_#r6()CIC=XHqZg-D-a>zF|q?dr31sz2#th{q$(d!84xolyDL z#3S(UpE)DQ_~?%Zoya`R#%uGegbkmvo!W2X`lIuDRFZ}f@$Z{D2e^MwaZk#R<1Rw_ zN}eAl{QC+g?Sw6_v~8-SCmQZfeKmXCuihqn;8OQPLFlnR7$G?Z>tkC&iO=4dv_#YW!{82cM zty~3L)4>*uf`9$jNk}*r_ZjZ}sBT=1y zan~o`bUecIwuF~pFUS(eU@RoAUb7q3bU9FY0+f$3ktVYT*aceqURCgZV*$ z*b6(d)>L+lN_TSml9rVM0i-pY{A!55`<&`qQ@kWko>J<8tya~oBkem)=^9Px!-R{G z_XA;FooqL|kAiw^UepAgbL4wM9YZk^cTVo!+<#o&v+D5O+2J<~&SxHeqym2` zONBl(@PM?>lo&x=S2J6|MJm=cmAqZ)^knWP)DfS%w|V4Tq0DHW>qiq^eQX^g2tV`= zbaLcj@!VLpDrE_w$rLvJi>AuhA}Oi%_f?GN#d&tdK2!Q=(xP&gqkLWNjWnyDpmGvk zNWR;)+Yd>bX~WOSAD@3;*||zWRx;`uX&+X!mGeWd{tMgQYZ7Ul3ALc_7q}Bp!Jk(! zWdpg_k+_R{5M}@Kj??7IMgA?eKrh>l_q>)Q(=-zJIo08JNKRei)47il)|J>+5=KWB z5?)8%5IU3FrYp}{;$Llt#{QA6XTCi9N!owdl{%6V?nB+x@u)s8k`Wk0#))>MDip+w zWa8N6Yxw|A3C_4dQx!f zx3@?y zzOCmAPNm-AHcxWzf3K5-q*U0L4y3j%SEZ1y_Y_EP!}`JVoGqAxa4pK{D#^W`&NL*x zguE%KhkuRSdzGd9SMFi9g9FIZj+@_yd9Me0U#B8NFB0oha5u@xP*+SU2_)lQjg+)+ zq_wx5(GRnY2|q#pIKle|6-SBxO$YChKO1$frp~#<|K-k1`9<8L$=k-(;X}SSlP8Y! zk2{&vadv3Qu*2j%BmLbi)S+t|ro|mLhtf__*G=l_NgE$2oszoRlTSbMb|Wp!mK{vG zeqh~7{yew~r;&D=viW&bk2Mc#4kyNNF0na|*OyU>to~?W=;XQ=6 z+k8a5S9S6yqLO#im7A1ApQ6rM-0#TKhUWz*?-`TW{Yt0_ zB}2&ZlkheCfXzwkK}&xVAH~go$;BCKdsB@X))8Mxyf}6se-iTO8cMt@y_2XO0gQ6yZ)orpK7bK3_~_F{rGv%@={^6nA=Y z=cnPBG;jD5L8$`C8&l>YPj3D4v(LdAu3;$0+hd;F+ucn!(1{ovAo47a%l+l=0){G$s63fZ)3#LH4Jo$a80C3l+Vx-N2; zBR!X`H~s)YX~UkJ~ukoRB8>q?0EZJyb- zoOk>q$@GJJ42jXnFoBWyQAtTE7)6>d@y*q;A6zbkPszbMLTK{Y}`1aC@2>j#uq4)?rfOwMl$^oXD9bv-wd2|9_ZRfL0zGAq6-h_ z+VtDRUr?dn(>@$bg|UejrGYt^gTnrVe_wmZ zH;KEIO&CCU9C@NpE|MMY@4OR88_TmJlwU!E&uIAnU;2Bm-fI#6Y(#rnAK;)$vFEB6|n z-{)RHSXVRZDud^VZznvPa5Yoje4$-OBoPk-d61F}1&B|lp3PjW}a zF{J4aN2}U&J=3*@mcCFgr(Y zBkJ@g-%s-Ey1`v&^28bO-AttP9$ zi0`uDIONYxJo+E4kF(F_&`t)PFW~t-y`#d(G@JX7smEDPxTP()p3bDBz+wuFBYcbw zte~RRwnNXUWD4mCNGm{@rz*>{uB4r|^@)FZe#e$cNPI2z=(?mo8`0IAdkmR;x%<)J zUT-QtKa%mGEjZE6&`aXY34h||&vBiPbV64{yo#r7{!lt`i?oZ}d8xNG&$5xGD<0*( zk=|V2O_$N@JS5ijKH}4ycv~9&Y%4l~pQvC5Rv=Foo6ny-HL0XLl~pF3g>u!o_woEa z_c9vmL%Dd|x@J?p8fn*54%-uV2ihKW#=~U%ZZk)wB3&=Jk8*z?a|RkJLB1C>x|aAB z+(X*$t0v)%M4D1Z1ny?k5tV$)Y=#ZwuSnyAsG}t=(~lU5$dHA|R31(uV-*T+OP+0%%W8{9B)t(`=}sA4(XHQjUY~dx z>R3yjPneQ8#hoAINlCmE=|{Pf>dy!I5!g=RK;__?MFmmm#8xWT)sOJ+tFTR5PnqN-K%x8J`5RpL+zMzZ4?kAAihJ^N+n;*IT8Qru5^4)TPOx0OxrL|T3F-sR3_ z(@N9m5?g*F9lOWFi8fEzz-;BD9pQm314|r6CfjNi#0B>qA{u zcDEaXT49OHl3jQ4K?J{J&a9r~%sJ;d&w0-OKht+I={9;|Njj(Bi#&!bO^5h1LQUii z_>Yh_QH$+UksPq`nmdT2Sz3uVfe%F70ry|xR6IiuvBj0YJ<=fVgqi1e@{P`!T!`@YxF>p4@G38)+Nk~U5f@wFYqDEEW*2!{{lA)?GXJ} z#8l$l*l*X58LkJ+gc{uB8{IOWXr zWI;DLbHT;_Bp1u0K0z#p`-k?9(MzKqsanA>$$Uf}aOyNAt)~{tW`S4*_&oY|;m+3H zBZR(;wk@UPt2l&5>z8n2W<#Sr^*DVOUg?g()E(n3HRE=52|l5}6W$>0$?O91e4W{& zaRr>=;Ae;zTI~1_?3wTt8$|(MHapA zO^v;Y=eh7S;^7uzvP>+KxqiAl3~xKw@mMW-Sd+Yf)v~Kvew*w@Y@L#%Cw5&=9IbdV zsXHkr6R@M^CE#Bv_X2n`c>@OUXsSncsjCV7heUnvqR*+M6#peKIL#m-E z=47Zu^8vang?I~W2{&oR55SuaFBQBJPiDR|^%V3D6EpS3iTV+~6XqqX$rfhp_aTcV zLEgwvXI+{|Q>;|$H^OUGQ@*=r@D8nkXjXx2W#<=+W-}`GnqEDh+bFX5Iv9#^+)swVk1~o2j`M;>tIIg9Q`ct4qDHQeHA4@ z>ZIUl2x10;zlSsS4x8{np1-iz7tX!+YoADRy!D@|zW#u*#8qenT&CY?m`1=^WE3tk zd`^FXI}mUedIR=I+$QUT_(`cMg-oxJU+nRi^cFVOc}%}Ovivt&Lfc5~ lC0mU($x-}%BHvvglU~F0mO?2c-17G}WXsC@5H^`=~I22d1LZ$C_m(=emsI?j3m8qsackMUNR ziYj1w;=Qmo&c_(|-9C@H(s2?I&xY}_G^%6uF%|a16gUe*aR;iN-`D|buVS`n-#JF0 z1}0imM4jCpW1s^gDQOPqSE;{;;;t;~NK0z*lNk1H?(?!m(N6g86c+o&8Xq6)gGa!XMS zokC6RXVj((+s-Uv8?1$kunzu2<*T*BoQ7pCfnXB$p&!0P%}C6hX6lonramWXGgYy6 z!i2=fVPsr{0k{(L<5^_39iLrhAbU|A|BaO}aJMBX066z zRpLi5JNh1AJ+T66SI@KYhe(}Hu7jq+PpGxef5>q%V>`@&Gj05w^*5FzJ@aAd@&X}{ zhlE`?13zLs9Dl@&bODADzm26Z-BB|$9Z}_0p+@)!^I?`_j?)0!pyJ1I3PwC`PRqZj z{HHKA?K_E1I8IZ{gT-(brpG&|o<==s)~+II*Y`wiqC=?Tm*5mHB`k?*u-Iv{w*66? zb|VJj18jsoXB;OwwnJCvvnK&L5+mbG>jI2Pd^twJtu}qHjUPd+^%+cnk5PN!J8CcZ zo;6FG8&eUlic0T_NpZqi=3fabNYHLRit4~EjDQbOJ$;I?@jb@E2^bXs;?3TVNHyRgHZz;eUAB812gP{MW~*wMpb+iHL|l94IiQ!dTrCcq4rAb^XA3n zk4cDU!7Nw`Ghr`O`6Z|htV6ZC-6f!g4xvVN3YGDOjXy#a_<+svCu(MzUN8-{v<^g- zpMfgB3^k)0Pz@c!6nGJR@hxURH^xQt;>d*>X&qFCj;J*og{g4`X2VnHhrh8h`du=1 z!5YL5p+=tUvNd*kxQj9=949Bdr?`*OOk1>dNl>hOz!)&O6gU}yG zqjvKeY>Asu9ZhlFbUXuUFBL>}qy*}DS=64Xi7~J)Y9Ou9%}Ss*0Zr9PR0F$FYkdf{ zmY-2m9eBf3loK_QyqF9_QJb_8s-vw@OEm_Q-~v>KcB0Dd$HaK*2J^2?@sI>febk#~ z#K}<|Nr!%z3DuDbs3jSI$#EP8<4RNqu3GP+M*0jjgP%|{;oLGKkAX^0af|s^&jLwM zgPBkb$XHfZXqelJ-)$!Q3O@|7jmbe@i#GWpJ;siFM zrtGUV_8oH^)1n&8XRVKFcp$2w38;=PL(Sk8EQTjAEylcSj&pX*PP_u9!ojE+a2MFX zD%1;P3u-SMMpbkb)iK|D=1muZDp(vfbLFj7QAjnEc;BA? zI0Pz_kPMZvJ!&cXU}_wMYG@&9TQ{qk30KTK9JjEmP z*-{YG60eD|Y2WEjKphy1n(8T-2v?%k_5f;0&Y?znA9a4;Vla9?HZzwQD-zF-+GL|q z9o>Q|cM)sjee}ZuPgs97P@jM*Y>V-*AF9Fes1eLZ&CEfJf~PSuUPhI_iCVhns44!8 z2{6J_Q!WWA-5=GF%&4U*_>}Xn3M!MJOruIPx)Cfmn4V-}0@d>Jeg3rwei=mEH zP1Mqjw(0XR9q}!wO?wNY;wx0WpHQ3fr)x75eqlyZ5d(P80yPt(P*XM&HG&nW5$!^4 z(i5l--bdxn`;v`|Wl&4<3|0OU=EX>_%*YF)4{^5+fyxA0pr&#g#>BI@1#h87F!{Ba zfkmjEe?y(`0{@x(eNdZg1P0=LEQZnFnDp|f2A87R*@&D9*EvBT9|_M=7$3`GQf!FoaBtM} zp{VEM(H|FnW&SmSBR0b+R1dG9rtT?fO24D_M8t2VLkUrv(HE6o0NKq>dCZ3GQ3IQY z!MFzt;BzdAf#1zu=-?7i#*OHU=P?PsL@i0AALhsI1gI(Qgi0TQK{yRHvID4&oI>Th zg>~^GY5*PuGI8FOP?$4jTpIl__NXQK7vt*uA0eO_xQ43uHfnRdM4g5os40)@ zZS=EdL3OYY_Q#So{Sbx_zlcRJVgxVG5|yx4#I~f@#$>eb944SCx`*oFQ`9C*7}3k~ zi-JI`N4ztp!ZWBTe2tosbdk)=1*48zZk&b1P#wI3+RRT-yZ##{!xWLd95)?-yaa|} zBg~FZP#sDZ#mlo<{891xsB_;8)lgs5%nh^gF{mY+h6!;YCdKWj8NG<*@BwOxL!x@| z^B;lGsAkP7p&F=-YOoV(H}^!1bi8#ks@x3gV$>ULJ!+};phkQebvo|a^yjE0{%Ye< zqPbq4uSkianI2|GZJy$&k(EQOWfhEoLr^0bj_h7%8WzOesHy&r8hM21UXC{=Ma@)l z?1+J=C76a9&<>Y?MzYr?oV4+CsE*vUK0=M;HR{dy1@!{T1%>7BA1cB%=%`vNl8p#0E2!^2=9*Na49M!RBsC@5GQ~eFKrZHog zO`00jKvC3tpaQ1Hv8eJ}FpbXtUIIF&4>2Rgifz_BKk7wP6+N2{bsYPm-dqzfC7wbp z$qQ6RzhfvyieutsP%~2v!>}Q036^4fo&OUAG=kemkDRxtU7IMbX($9W)$LIE#-WyM zK58VZu_123VR1MbXvNmLQ;!)I(L+992O( zRL0Ksd3V%Q4nWVIK<)l;^uzP0a_>+x^cl4@5fYgtiH~}5)xsd0kcji&fWS@?@}O^G zvjkO9=d>59!eKT(8rAR&RK*KXn`|R$Gw#Docnp>A6DpsR#MBc9wb>J*W~6Qs&cDui z8xmBY6KW>q0aqBREK?%ngPT?)teGElj%`=Dd9cuiki{9sPi9& zYS-;gKvO@`W;lTAz&X@jxQ43m4(i48(#BIKGZkh=9m4{sj@3oY#9-9knvPj;E$UZrABi2>LX)zO)#rC5l5xE$5t6R4@aYM;MF z)%zK>MBXWskMkFWfO?bwRUiblW@S(>oNA~MwYIvbwVZ|QZ2Tpv z!H=jV_=XEHYDxyE^S_Ef3fzrq@CIsRZ_p3Fpr$x!D)V8K2Q>q&u@#QRYWNAmu&ke1 z+i=vU=Ugm_Td@@WLcLGIQrq)ihk&NGGwQ)0)TWwj(-)$aV55D07&XP$P$PbXT7uU$ z{R65#FMqR#;-cb7Q2EoNW+=}dYUrXk)OwHZgDMtm5R?=q^vcQzh9&L9ap#Zfa`8#T}_s5f9AjIHy(jzAd_ z_F)n92{z}u9BPd#p$gVVji5Pd$-1HE6^dG_(Wt$$3H5$Bf!cIuFc-$mXzB??Z{p?9 zN9VtyeNflh6gBm2u__M07I*>uFmERFuCHSqiP{6(FfHCfbv#05^I;VS%MlO7iZ~HV z<2`iM!{97tGqgcX?O4>e-btv64x-NgIn+D;KI*td3o#?|MUC7a^&ZHBnt?*7B`jv2 zmqmRhG)B#6uMp0^G7Ka^yLKcN!5P-;s9l{bt9g;sKuvvpR7I_Hr^IhaVJ!R{jDQW4NXBEyG57^ z_uKeAEI|Ah>J;VAZt8FD642&rgDSWgmEi(r#vd3BgL9av&53F_KPo*8HGs;f8L4BR zcSh~4{-}C?qE3r%PSdfRsF`)E6VO^ruuex+IM2qHqYAD^P2DL}!&mL|d#I&*hAQ{f z>Yd9RJ0DcJG^iQLf@-fKvR7QECIOA8K1RmYsHyLSItAUa3XVWEd;_&ak8C_bZgcKq zqTU1LQ4Q8bHPiyNSvz2TbW!;pf`OMO`$6~~{p*r*(^+Jn~pMh(QQW4Ox2}W(Atf<{u1l6Hx=ot~J z=Pgj@y_-#+fvR{Bs>7>LOR*bO&k_6lI;y_=HvSAqdHaxHQ=TNIsY12YZA0eyP@I}Q6rs& z`bM+@RncBl1xHXLK8wnC6}1T;+2UziDV6fy6ICa6!hiI@&opia|y)C}CR@%yM_{2H@hw4!!kc?pD& zPy{tKov|4XM|I#OY6iZcdhAuqyxU`;p2x$Y=!e=HO;Bs!6}43TQ6nCPn%SxL`3j^x z*V#lsYjgqw@ecZ9l;Wm95N04=2=%-b>O0~D^z04PH=MnwhOZ)DES!6&dLo6IPsQ}8 z^a|*QT`-5Lcgk#G#N<9E!8SxT7C@5ZQ+&O;;UE?|3j^Prc!39 zs-dR3F6x+d#8lWF)xjy~84$Y4xQ2i-9IxD;2YG`#VKt%kOOt@3!wH!Mbz%D zf!ch{Q8UyTRqtR_z7aM)9z7i?&H2}Zc_e5=OHos~7lZK-j>R{qnHf;V?EdpOocM1{ zgTu?3j;*q8LUnK#YSW&@sdy9DW7l#fJ#Bf{tVy===AE1$)uEcG&D6l!3N`gzY`hOD z-#<2eG-{WJqc-P4)D-VV9p96v0Y%>O;wWN+2D9;7VqStDrX3V${?= zz>*lXvMEpz^AMkeW$`4I#>7=jyfJD3t5I*votPg#p-xw}s-{CNkWWF^nMptmZAFdr zCaQt2CWDi$n(1)`%uISe)W_#a8$XH~*(cOU6I3@-T^g0%81)`-QO9}#w!upntn**E zhAG$<%kf|y>Q(y+LouMHm*+pXZH1bdeK;9^VOOxC$HMTdahY8<{0sfO(0ZZ^Zdm1wM_Q#FZbvo{$W-385vlluxbIo_U`6OtKyqlZNmJbzgh3ddO z>q9I;JberEjixmoCO!f+^%Yv0Z%U&u7x5^q%w8&li->na9oM9-P5s$j0xH-R$KX;d zg*n=o^W7g)5nqN{f@7$!QtwckG;Uk7RAH!cZ81G=LXG$q>e$6;XO=7!ixO{*s>fYP zKoy-pjg&th^StXrQ5jmHUKGR8#S_>F%XBbrww0(?^;6WEC+KKSL2avxn#skej@&|> zqPU&BbQ)Zzq6s*iP!A@eUMOc#9ZK5S?1}oQ&FWegV;15kt>3W_@!&3I#@e8kU=-?& zw;%PQ`wx{bQCD@0Ayp@!H5rS6xYT+U8x#MGnu*%o%=2ET5zoU~cnWo#(snm5rsAkq zb3^oW09z5?kJ`jRJC7N|8`jVgE-wO4$5nPXQ2s}P@x z74R8q?ep~ZazeK2x>e$5UYoTDH=mUJ3NRQNyq^6 zMszXAi@kuWN&m)i{ejB{dO59e@gVajqp=5@)6ou-kvWN zb_f+#Ch&m-O?AnC%$LgEn1uK^)b3x3n#$)`7^4m~d!Q6*?{u?{Lmk6qsJ-+SRd3Q^ z=Jb@qFyf~$5+-nmn>Uv)`jHTX>SU)6A@FzCGCS$#v#XA3o31~{&jx#?ptwc@DZuG{37!8l0I(W`L ze}Q_jyv4YfVZ6zgAGKLaU_6)YQeEXui#+ zLlw-1dV%CdRnWlN0yR?|(6eW3`cjNc`dW;GTTrL%D5`@WFedFgL6gk4(LCrwyaXn| z%BW-50#$K8RE1Me9iD}%c&T+8W*~kXQ{#Ko$P)nfJgLRQxjPD_D%_ z=DpyD`VcDR5(p(Q95t1vP%n_gGrXLh*a+33Yp5xIf|{`ps1bidjWqhd=6N#IlBGxG z3qft#T&Sh1j~Y-DRDEtc0&1W)Y6eE2J}kmfyLtm^vs^%Jz7MEl_Z`b(_L(N`qCT#- zqR#tw)QA(#G9Ar;sxL2UDQhFIYS(E_Ks_FWDmW6gBnwd;*=C<#MfLa&>NLDWKa4cn zzUfe(Y6USp)5Oq9@qh_W(M$q{mL_kY0R0%j4^;Ky)s^BTq zv3ZJWAjy1lo^x62VMEdfqw?QJ&A>0zfC3korLBtE3k^_vU?{qp((wee+h?IR-x}0X zd`2xz+=ZqscUygbY96)W_YxemA^dtThRbRA4repC?9ZQAEA8gIF$TcG?N`e|H zi|RmCR0YjZ=e&cB_d``Q6t%e~qSkT&YSV79=_jo>QT4q-<@;@ozt}8wpi4jv1*4`U z2WoBdq1HMS=U@}mG4xtuHemqz6CZ$SaX#w#QR_2IL)>Sn*>oWoM7$2_GhnFIT~0uo z<}~UH!ZYlHUdv2}`k^{F7&U^?s2Q1ynt|1*rP_mR|RUCb#slXRiK`PV~r?qB8HJBY$VSdz`uN-RTTBE)xg`;L> z4d%gJmlduT!qo`MK)V1c#*90>XpM=4<7ya-BX2KZj z%nas3b)*{V#L2sfyQ(~+)f3h09p7XC`=8_<1V^-XWY4H`Rf%qGYMKM3| zj;M-PqVk_cE#YtU!=xL{x8QuJ{B5xeF2&6F4po0@ca!9IcQxDLZAI0yB8;Vllu)?3VPM*hP##6!25{A*FC=qT1iH_(-2?y~!^A3}~4nv4X-)TPg^J8UIh!ycX*2mPl%um0r^(kskRo?AcD%WX9K*w$v zYARP?6TFGqwT1VXHSLAkbaPP+Z$fRpN2pWq9rYrMvDZv(demvEfJLwY>X^?(&D<*V z{QbW}1bUN@ai2LhORyR7{n!rE?Kf*3j=70%MlHoFEP=@nn4jsISXZEq;XBmcNq*4m zjWVcm%~0jS(ewMi|Jetz4w-@lQ3YF~3QR$*@gelb#D~rA2l8Qc;)AdjUPVoP$PqKb zftZi@bkt_OXwyHUW-#Va&c8lR3lY!@qb4e27t|YTGU^Su47FR=qt^H;KEw>i%&%%< z9XB&m3tN#s0hRA7>h}p{Pnd5|Bd{~^J*Z6>a+33}DRobJIX!SI*2T=H%-7^ms5RYy z+3*bdq1S2i+#faKGT0UW#ZnmSjQMkenyB;s2+Lx`vtFLRMOz8AL|e|f=KK3y5?Yf` z>YSJ7-)7i=4~VBeZ@!*Kx?p~7Rt7b7V=xQuM!j%ep_V4WMbm-Y7)E>`R>Na>1yfuy zoA?9j_(gLso9}LoQM-OWYS*W^Vy3V@>bu=qEQhhLnqNxQL+yz@co5@WGtVz$QR4pp zGc(r=2NNHNI*t*pn*lUN9d~yU0evxeiE1eE4fDI&o~VkBVXznH{HAFz*Dce~NKDQ1 zE2tUyf=w~QZF3yQqW07r)G^(T+Dm6qp9R-29_>4K2}B~{z4a?9<8M?2QSX@Vd;zGb zE?{kne#A$irhX;r6@CV_<}Yo!&t3Co&5UZN1nR@7Ec)p4zY+oM_Iel>J6Q*#Ix-pQ zsWaQU&OSeAy^L9T{si@Dm-L>gC%~E$^{E$zsjw>QMbs7jY2O)W6BeQxT!(toZAW$J zj7`6bs^A%hVzm2auT(&N@fdEMWSxx~@iJ5g)}ZR&VLgbh3Z5d+2d`petn$E2X>HVt zs2}PTy8_koo#=H5 zd+M6+Vv9)7rdfuXqNAuaKWBY_8HsgX#%tm~#9N^@+bh(}y+h5| zZ`9_F={~ogR;Zp;z--tKbxh`3m!cY2i>hcF>ewDeP3;?NJv~M>@Ef&P623AW@xxfeGuU_@)MhP;`b?>cC9xf< z{6^GL9LF?x4%6xUeJ6FlyvYFgvzIH82ZlXH!3Ee;fQQw=7(-72yTBxaSgBsCT)Uld_6>&4_ zG(`GfHdQuMycUMwP}GuaLDjdByhWapy`NNDn6LuqB099^1>fGNzt@&HjsfhT~)Sm=t z*L5-w(3F-y9kVLdx~M5^hFZJcHa;A+M6*y09Jby-jp!|Evqt!32IPwxaS-ZxDO7uP z&{yZbB>}D7VAKpuL^V7g)xZ|inw>%we2tpY?>6rJ+l(wWYV!u5mLff>-r}fwtDrt( znxM)L!frbMBM5ZIpQz2)m0v%o;oevj$D>|Q=TYbQ2WkcqczJu4t{`f+*Tx9g6pLd^ z)QDH22DBSh?t+bfN6)|i6UW=zGiCm$5#~kpv?TV&=BOojfV1(fjgOCD8lH`1NMDM2 zbG}1uW}k@Oo*zsSp&#*%sCp*gU7Qoq+w~N1BYAs1@26ue9z>69Y>L`EyRZqK#Y~tj zinr&}tr2!2z63R;iKBXZ-jFF#9m$Vbu^MV-hN1StC{(@6qPpImDc?zgcI|%D47@tXFm z^Ea>BWavk{Jf_7CI2$LUW++>Lnfi{%i^z3)6VM*mhdO@8P@C-rdQJoC#q%E3A+I!M z31Xp+V}Okp#^%JUp~~+-b?_vr<5y9;|1N5&e_|S)f3LKrN9j-vhM-22+gcjcvAU>= zJ75ZQQ4P$t&zD(vH3U_aa=xwc_FRCK;rkX6h;d&`Kw?(;*Bsn?nZU!E$UP_!JL1MEOM}^ zFgEHz7i%xni)jF=Ba=~^Y89%Y3s?>BVHV7l(d>~HsN>re^(I|`>ew|*jj1!4`if_A z%}DE#pySmK!*D95$J?mm5+$=a1u3yD@yw`>|BKoK3sECoiyCQ+EM}7yL7nsJm;*at zDqM&~@t{jU4MhquJ<5#QEG1DRtc4@6C3=1?K#d@NR?}ck)SGbhjOCQLs4(Q@~9WhMC)Qy zJ=;+o*^fF^H&Es8qZ)pTYK4#}* zLp+7KF=H;1zZteBJ_hwd`-D1GS#z86^)b56e|rKNK`+!fAA{O#b5Spht*9lrgxXY( zQ8SPtkLgf4)ClvVPDL@Bz8JNccc4z$J{v!c8sJ4tLi^4=0&3tJmc$r&O@XSYH(VnO zz<#KP=Aj=hMQzSwsQ1SmRQ?C3nfz^yp3gi_h$^2HwQ2p()zoAppfziW8gWM(AA{Px zlTn*!HL9amP$PPZnu(97wf%*qF=l@ABCClSP%Bh}Yf<({LK|;~Uh-GZr*6RSNaI9cl^2qZ*uodY{ZfZO#n^Ise*B zr$|u4H!%dCqY5S~WK4~zhzFux(P1`T3srG1)XcaxJ`pt|(^1EDDf;1Y)PSF(X7;lR z_!5Xy*dzp_)-n{!VksM+jGF4{sD|dFrgS5E<6av-fIEqwL3LnM5!3M*sF80+)qfVX z)b2$BSqZ$sOz2-->~srLyrQ=1eu(je5-W=B2GhZ=b)RE2eHybWrt`(ZSki<+6`Hoh5E zZZD?6^Qihhq38R5#1f`JOw_SSYU62aJOuUP$&Xt5N;bVQsw3^N3id;F_$;cyD>nWV z^sEV?q-fSgMBj}G=aDjb(0X5YRQG3ZL zWll>n)Qr?Xr8lznMSaXqMc4C#flYXgiU*c9mPEaHnqx5>iQ2WNP@Crws$uUk=KFq1 z^dnv#HINRd5f4Kx$#|@VGg0L}l;QlVhjGf9&F71ns#2)kTNkw?ZBTEz?x>|0gW9a~ zQ6H;kQD4a-mNTDj{-_x$hZ;~nR68@V3@*0uH|1P2!fzy~f|TV=j|-sAZ3$FIT4G`B zfqD;Yv0g!qv3{s;NJEeTy3SSt zI#vf!Yk3K^6w#`i83;t}-t4H6RY1L(t6S@$X0S2ph13g`ZxU)oXP`Q~6dT|cYr-1( zs>k{3MnJoC7itX;qt@;Ms^S-@bM9T!Y^r#uQ&9|cJX@gh^+J^&k7{rhsv|2=1Kfbx zQwLG6;76E3=l>Z2eI<%g%Ty2pwOf;-Iu?L>KV(Fm|6-UHTUy6rdEy%}7kbq;Gn5A# z6EB47@H`C0L#QQqgPuSCOH;=b$buSaP8%iNW|I)LR0C0aVk)l0)u@@Q-OzNnG3t32mp~5!BXI~ijm+=={z1J$KU-rr zHs?POb*w^h0M5atn4*c?`?YAW@b+$Lpts{K?DwyVH|2R zRcmfW-V-%N<54|cf)Vfls$)k`YkwBg<6TsP(OQ`22~jhc5`!@pYJg2po3fYZIp=RU z0gY%bs=_6x7spmqfy34ts2O;R${(?%>7Wm)A%E1S%7@BV9W^tp(9?Uf%qEMA8hJX@izf?e#)_iyH$$yyHya;>YIq`6!Fi~qd2iEy zqFaH47_H6cdtK`s)F!%zsr0;!IoBCc4b(vG=BB76YKwk27z^P-)bYEI8rT!mX7q3C z?fG{E3ZpuQ%cD z1Mo5yz^|wd=4x-2qI-MSe7ue$L9fJpsDd9*1rv2JyEh-|6x71J*Z?!&bkqnBU>^L5 z`nb;3(R_-w!qUXoV+s6@>Oj#>=2LT^OCUN4=dCwUo978?MBh*i$LVY~O(JYV+#g5b zSkz`s(#7nFbQnlH59+g`5o(EsVk?|w(<5~?-;CTK0_}NF8nwB$qIUB>EP~fC3nuMm zmZmi7JXb=kaR>CnuBfS>jM|KgQ3KeF%6AgAWam&bbPYMy{QD2x&97k7p*B}-RF7Mr zc58psu^NsV=>q$F9cpHdqV~*b)LyuRI%W^-^B^S=gxJ|raR zX+|85%ZOjX5bWQ}bZiZ3hIXPlcnCGp8@L)@;3b^V+jO);AG2irP)jlbH3REx`ZkQK z^M8ndD!zi6!aJxDy+IZDjN1LbQE$QoeN8+B>ku!2dJoJ)9kYX|_sCsT`G=_TFHtk( z)z26QUG4T%1oT2Fiki}@sNG!~HFZN!YqkLW@DgfId_e69F;!`jOJ{rLJ*PF?gW2lc|9mlG85?f=cf#y5gNL2hO>U2~YWd5+KIhG>6 z0X@eHixMw7*nB1oLB0D|p-#g!R0n^emZaDa8d8BaL(B_e6)NL1)H#jyk9i-I$0Ec# zqGo0t>J51vGh(En=Dm;&wU^r2_!BHlJoPa1>-NT|nK^)sRn8r5KL1-{aT0Fh|ImMg z`5y2CHDw(~n$5Tu+Yx_*<*@!JGh-`IQ~e9Gq5o*}n~~~RkN8AXM_%J@%sj@P|Ca>x zM)MhKrmzH7B0d^Z<4qg?h3a|5aprhU!WzU^qK>8ac(aM)pf+Jr)Xd~Um1~MRHA_%4 zw;Ndk*Lg}H7YT7Dn6(PS^u)VjS)7I1y-!gU{X})J$V6|?fAKsKn-h;V$-II)Vt(Sw zQ28ICc70&DIX$^hGg1XT-~ZPVP{z-w-JEZ-`8wSJHTAnt$1cVc^Ba-$s1B|{z2UB+ zPRA?kgsG;Qj!eMr#E)Z1EIiGenqjCV+JgCX{+|)h+N7Co&T}(NN_;Qg#s8r`Tz1Ux z_WU0Sy~muyNB(O*eD>mb;@?oG!p_aD#Y|g*dq$dGC z9EWLfEourcqd&%-V=Bsle#E^p_CY@_OLt0@N@qwuCl*drV(V1sv zG~+zZzow=X2}5u^Ho*AvO~Edx0z0rYK1LnSkOju-Sde%h)C_JzHS`5FkdTGO8mNx- zL%nBCVnfWZ$ThopceFShTtsJi{vzFPkh9Dm~x3Z zmbEbs@ztn$_n>C>E^2QicbA$eo`fk#*o+#%Mbx|9XPMdkEv$X94Cxb4$My#H!-UIC z#gkA=a>n`twNybX%xS8RIz7u#`P^>=^e#`o(oAJ7tWA6>R>n8j7>lhk-vt-pMB;}~ zr=rGcGsRs{n{+xV{XA;sUZIY6k~QXeMT}2;1hThWXBGkN=Dnzqe?&jbwARc>1?)h) z9s1%8)G_^pnK5Xcd3D!Dm7j`wZ=6BBQGM5&H*5pcoAWZZz+xNtOyR#jbCwf0OG5lj zOo48gj#WWz$}Z^n@BfDo(8uB|RK@pDQx$QyIhLKV2=R}o&6I18c|oS&tacYEFiBCj*cpSv>_y+an8o1wl z{65CU#N!+=Q`rSu5+8w`lpptC-dr_F;zsAG}^wQDP)3O2KLMXm8*)XYq<=?hTxthdj1 zqd)PJs5jzkYxFZFo(?^~|1U;BQ&R`ER-I65JrMiiOw?veeAc|t{z1K>kD)#b{Lh*E z?NP7b5m+7fVZ;~9hH6$wOilYc=U_rbReX{RH&s$kJ?*hQKzQi70$m#+?#|LIM6;AYcnpz z)THl3y~A&zra0PFGs0r1%~%t)B&|@N1qZMW-a)xlh{FGg+70QZ09m}JDU zBn&|HFvfM$LqBUi)EA9vs25E?%!C6`Q@RG#!BeP#d_m=lbi>4>p-x32)SgL(S{kh->D;?Xe@@x-Xpkpi_;*-;JVv+?4nk(IGlv{pmCcxt1{HAT&A z8yg>ho`3&)C;?S4$&R`Rl#Z0&wiIso9q{=(BAJCMunhGA+HB*8P&05Ib!@Mr@;|ldA5b&-6IDLa zT~mKNRQ{x>7hE8^D+z?zg!kBpc>H^2FLXn#^>ozcJBcCq9)mH>eeJt(L$lU?)?BEWDTkWEs;DWhjhd;}sCRoe z)W~{ThoVkJxQ(wz?S;Ll52@oe{`H}2rZU1K```JZ8tjH%*ca8o{-`(FDAd%>wdqSy z`8Q#9+=)6?|Dk5W`?2X*5b8ALLG87sr~$Qd38;b&sPoz#)lhHLD|j3#<2=+JSc0lx zvrXTD%C`?y?gFZwC#V^Dff?~DYAMn^G4++Qx)p4o8fuE_pw^}tYUG{J5Bp;#oP#=! zr%?Isquw8{QJX5$Q`3R+s3oe5%2yB7@mALMNXK2Li%s|k)!<0f)J?@SxCis$1Jq2V zd}b<2iyCPV>NI4w=0+`DZT@G20$g`gkn6j8z%_?8+{CjG{rN*Kz*065+Z$+fN<4xWABRFYzeqEmv*I z=Ho8Gt?wV6>t7O*hE&h38kWDCvK$#>4~3t7{gG9OaoW z@gO?2kGrFNww=bd+i*GZ#U?(9vbqMCbl2gd-T7!Uy`XSAGHOF@#MRs#C=f(JeWM8? zt}EPDa-aO#GlQw)2zjRC8PevHR+T(cNsFxkQU7DoBPtJd@CC?OOInnO%zs4^B9nOn zt|xN??x|$Zb%k&v+h{G~>qu`#d@$j?RMwFAE}M51mf=}>(xVX$MqLN&;BwN&Rl?pj ze_kxk`^O0*V{RUtB7?3y^wi&mzte$Zq}3+hJlm0To?LttC+$C;>xxGHved)hRrCCd zX-dmMoqMTEm$&UqCtL6Ta4OGSea-rF=^ulLO{J%8p@lqHLHrhlE8sdR%#SIEuOO^z zyzSI16Lq|Jo`+jk74qpFu-`Vmj7D474(s`xi0ps8&;P#mlc695rrAoSQ%I-eB%SI@ z`e@>D$n%!x1#Bl&{w47UJR3^B2Y;n^An#-wugSAe8$Ryo6gBU$3H`AymH0Cv{(h;m zpZg~jcc+5U+=WSB#`7bD|6GMgJ8H`-Z4=?*l+#t+rf;+kq4C)~+sZwOu;b6=!F`fj*9h!rf{s7ooHUS%3U&1+T$r?G zG^pzk;kH!t=c;7GGidBT5_#-op-eRbKDG|!-A=yGq!)_7_;>TL3>DU+P;%~!^tv}` z`W~-q58;ZW-#}gU?WlrnW1FccJ>guofjHFlFZp6qM%N6UC%4bK*p8bgyl-4v>0+C5 zj6$ghNBpa|0pwXjd?^i=w)y(likgtW6!&-HEik*SF9zXnq!px0Zo-M^L{vJtjI^eN zM^MjEo_W?^bxz=}PsV9@kPK}JFTi59!azDOhQj0i>X^zsC!Usyc9FLv&&Sfp0{kC$ zFP`Zin6E;(4C)Jtu4~*~sQ0&ruC@+T*)K4mt0a)hV*C!WhU3#TPXCCKuWvCf`Hq7>p6Pvvc?4{_8Sp zz;|zlUu`%adH9|Rl2Mr-{-W?b(mqpSC~;j)Yz1d|rfUj$JJacj+>NOt9(Ql^$hk@DVvIW4T(Fr2U7NxXPhQi4)SlZ1$x+aJm;VUnI@CK555k+ta54- zpTd2Ju&#u*lKgaJF5y+=O-E;P+H~bvN&J)T(5S!C^-SO6e~|VHyJ}_#_onWucu3#H zk`Nd~zKJ~ibERg)!8{wzU5Ps>c?Of#hzt+uKp=UyQppmY>BsC=c!Kmgq%R_0B-{B0 z#N+WyS1&ran0k_N>pDxitDjmn@n9K+yW2vZr~J=Rn=y;6pf#19CvQX=h(h?0P5)-g z%_F|krlq6oLDF}SKd!Ck6HcMte{3FKy$5t9qQZuBAixvj+bV^0y`?~U8`ck+r)|L; zgsW3VR~YwNI#ZAM0`exO9{!%W=PFJ4&)omm4)!HaYi@pl=D8lIeLpgEC$TOCcaoe0 zb;YC-KQivoNJ;xnT3g#0&o7Y(KOt>Bc{<=h;ydWzZSrTK&Slg&llWckjFg|pJ(9ew zY#mHeov4Vsj|%ICWj6o^G`9p3*6)t1bET z!*6HO^4hY4N&iW{jpWZs`Zk zT1LUd#JiAr5aHt7Y3YEjVpd-&d`|}&k|!2Ve<@UXuIRf2MBh!^GA z{>Y|%Pqw@~m_|j{sAM}0j{B=nRi6FJy_d9Kn1@@}eDdxi?Jnh-(2@H#-JkMxh)?6* zMIK!}NYlkH`J8QpJCk>*zM(hgo=*h_ZAN9%FGi-2K9;l%G@yD*lV>Ou>Wa^^4>*{Pkljgo8;V_Yewt}g|b&cX4K!)fvT90rk zI`R(|;m%9m5;oszY(u_sq>rG{r{rtGtt+#^;or*eTxUp6O@96ky%U*ml_>nzM$buj zMnV}X@v^;MZYy}fvwn6;RYP?e-cP>U_>nw)F(&a6+`5)=m*O7JJ(g#+sP{i?&GQ1` zuSO?!KND(1$@Jv-LHH`Z!=|KlqorNMM{@H|y*MLnZ>mtk8sbZcm%#SqPeLAD{}3-t zFP9SL_t?%x?%mY0l`=cXp9ghi!4mo)Xij1eJG^z~ne&@?5h@8F(?d*PpD&=Y=u}qO z=JVn?#hqT<1!#C0`67_8g75*-mXlxCC#j5FRk-gH4<{b3hP0Ao z`b9W}P1{GjH{tQzt4YtVkq{2B6_=rmu8-tviPxxeCTYWXUef0AWZ-{BkjIN>{q=qA zG`+rHNBAd$+)UbJ3XbM3N2j%e-m#)Tvt)@)+5hN!Zo?S(0FE^r6ylb z%0D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 F{{aKz#I67U diff --git a/locale/tr/LC_MESSAGES/django.po b/locale/tr/LC_MESSAGES/django.po index f5cac007..9bcfd8d1 100644 --- a/locale/tr/LC_MESSAGES/django.po +++ b/locale/tr/LC_MESSAGES/django.po @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-11-04 19:19+0000\n" +"POT-Creation-Date: 2026-11-04 19:38+0000\n" "PO-Revision-Date: 2020-11-04 12:00+0000\n" "Last-Translator: catborise , 2020\n" "Language-Team: Turkish (https://www.transifex.com/catborise/teams/110663/tr/)\n" @@ -263,7 +263,7 @@ msgstr "Parola Değiştir" #: accounts/templates/accounts/change_password_form.html:25 #: accounts/templates/accounts/email_otp_form.html:25 -#: admin/templates/admin/group_form.html:46 +#: admin/templates/admin/group_form.html:81 #: admin/templates/admin/user_form.html:169 #: computes/templates/computes/form.html:45 #: console/templates/console-vnc.html:86 @@ -670,7 +670,7 @@ msgstr "Listelerde tüm sanal makineleri ve sunucuları salt okunur görme" msgid "User" msgstr "Kullanıcı" -#: admin/forms.py:80 +#: admin/forms.py:80 admin/templates/admin/group_form.html:39 msgid "Permissions" msgstr "İzinler" @@ -720,55 +720,42 @@ msgstr "Disk" msgid "No limit" msgstr "Sınır yok" -#: admin/forms.py:216 +#: admin/forms.py:218 msgid "Enter a limit or choose No limit." msgstr "Bir sınır girin ya da Sınır yok'u seçin." -#: admin/forms.py:228 +#: admin/forms.py:230 msgid "The user must change it at their next login" msgstr "Kullanıcı bir sonraki girişinde onu değiştirmek zorundadır" -#: admin/forms.py:238 +#: admin/forms.py:240 msgid "A user without a password cannot be made to change it" msgstr "Parolası olmayan bir kullanıcıya parola değiştirme zorunluluğu konamaz" -#: admin/templates/admin/group_form.html:16 -msgid "What can its members do?" -msgstr "Üyeleri neler yapabilir?" +#: admin/templates/admin/group_form.html:27 +msgid "Group" +msgstr "Grup" -#: admin/templates/admin/group_form.html:17 +#: admin/templates/admin/group_form.html:28 +msgid "Users who share a set of permissions." +msgstr "Aynı izinleri paylaşan kullanıcılar." + +#: admin/templates/admin/group_form.html:40 msgid "Each member has these permissions besides their own." msgstr "Her üye kendi izinlerine ek olarak bu izinlere sahiptir." -#: admin/templates/admin/group_form.html:33 +#: admin/templates/admin/group_form.html:63 +#: admin/templates/admin/group_form.html:67 #: interfaces/templates/interface.html:113 #: interfaces/templates/interfaces.html:52 msgid "Members" msgstr "Üyeler" -#: admin/templates/admin/group_form.html:47 -#: computes/templates/computes/form.html:46 -#: instances/templates/instances/edit_instance_volume.html:112 -#: instances/templates/instances/nic_qos_form.html:23 -#: instances/templates/instances/settings_tab.html:412 -#: instances/templates/instances/settings_tab.html:653 -#: instances/templates/instances/settings_tab.html:907 -#: networks/templates/add_network_qos.html:36 -#: networks/templates/network.html:336 networks/templates/network.html:376 -#: networks/templates/network.html:403 networks/templates/network.html:442 -#: nwfilters/templates/nwfilter.html:153 templates/common/form.html:23 -msgid "Save" -msgstr "Kaydet" - -#: admin/templates/admin/group_list.html:12 -msgid "New group" -msgstr "Yeni grup" - -#: admin/templates/admin/group_list.html:19 -#: admin/templates/admin/user_form.html:141 -msgid "There are no groups yet." -msgstr "Henüz grup yok." +#: admin/templates/admin/group_form.html:64 +msgid "Who gets these permissions." +msgstr "Bu izinleri kimlerin alacağı." +#: admin/templates/admin/group_form.html:68 #: admin/templates/admin/group_list.html:25 admin/templates/admin/logs.html:20 #: admin/templates/admin/logs.html:26 #: admin/templates/admin/tombstone_list.html:20 @@ -779,6 +766,34 @@ msgstr "Henüz grup yok." msgid "Search" msgstr "Ara" +#: admin/templates/admin/group_form.html:68 +#: admin/templates/admin/user_list.html:20 +msgid "Search users" +msgstr "Kullanıcı ara" + +#: admin/templates/admin/group_form.html:74 +#: admin/templates/admin/user_list.html:86 +msgid "No user matches the search." +msgstr "Aramayla eşleşen kullanıcı yok." + +#: admin/templates/admin/group_form.html:82 +#: admin/templates/admin/user_form.html:170 +msgid "Save changes" +msgstr "Değişiklikleri kaydet" + +#: admin/templates/admin/group_form.html:82 +msgid "Create group" +msgstr "Grup oluştur" + +#: admin/templates/admin/group_list.html:12 +msgid "New group" +msgstr "Yeni grup" + +#: admin/templates/admin/group_list.html:19 +#: admin/templates/admin/user_form.html:141 +msgid "There are no groups yet." +msgstr "Henüz grup yok." + #: admin/templates/admin/group_list.html:25 msgid "Search groups" msgstr "Grup ara" @@ -1010,10 +1025,6 @@ msgstr "" "Kapalı olması burada hiçbir şey vermez; bir grubun verdiği hiçbir şeyi de " "geri almaz." -#: admin/templates/admin/user_form.html:170 -msgid "Save changes" -msgstr "Değişiklikleri kaydet" - #: admin/templates/admin/user_form.html:170 msgid "Create user" msgstr "Kullanıcı oluştur" @@ -1027,10 +1038,6 @@ msgstr "Yeni kullanıcı" msgid "Users" msgstr "Kullanıcılar" -#: admin/templates/admin/user_list.html:20 -msgid "Search users" -msgstr "Kullanıcı ara" - #: admin/templates/admin/user_list.html:24 #: admin/templates/admin/user_list.html:37 instances/states.py:11 #: instances/templates/instances/power_tab.html:19 @@ -1068,10 +1075,6 @@ msgstr "Engelle" msgid "Unblock" msgstr "Engeli Kaldır" -#: admin/templates/admin/user_list.html:86 -msgid "No user matches the search." -msgstr "Aramayla eşleşen kullanıcı yok." - #: admin/views.py:57 msgid "Create Group" msgstr "Grup Oluştur" @@ -1983,6 +1986,19 @@ msgstr "kayıtlı" msgid "none" msgstr "hiçbiri" +#: computes/templates/computes/form.html:46 +#: instances/templates/instances/edit_instance_volume.html:112 +#: instances/templates/instances/nic_qos_form.html:23 +#: instances/templates/instances/settings_tab.html:412 +#: instances/templates/instances/settings_tab.html:653 +#: instances/templates/instances/settings_tab.html:907 +#: networks/templates/add_network_qos.html:36 +#: networks/templates/network.html:336 networks/templates/network.html:376 +#: networks/templates/network.html:403 networks/templates/network.html:442 +#: nwfilters/templates/nwfilter.html:153 templates/common/form.html:23 +msgid "Save" +msgstr "Kaydet" + #: computes/templates/computes/host_nav.html:4 msgid "Host sections" msgstr "Sunucu bölümleri" diff --git a/locale/zh/LC_MESSAGES/django.mo b/locale/zh/LC_MESSAGES/django.mo index ae5085391c16771d9781e47b676993cf95756ab9..32dc5f177ed6dd36ba77a62e958b9db536d61c52 100644 GIT binary patch delta 42609 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 I)^!?w0hL`bRR910 diff --git a/locale/zh/LC_MESSAGES/django.po b/locale/zh/LC_MESSAGES/django.po index e3ff8f94..4d1523f2 100644 --- a/locale/zh/LC_MESSAGES/django.po +++ b/locale/zh/LC_MESSAGES/django.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-11-04 19:19+0000\n" +"POT-Creation-Date: 2026-11-04 19:38+0000\n" "PO-Revision-Date: \n" "Last-Translator: \n" "Language-Team: \n" @@ -260,7 +260,7 @@ msgstr "修改密码" #: accounts/templates/accounts/change_password_form.html:25 #: accounts/templates/accounts/email_otp_form.html:25 -#: admin/templates/admin/group_form.html:46 +#: admin/templates/admin/group_form.html:81 #: admin/templates/admin/user_form.html:169 #: computes/templates/computes/form.html:45 #: console/templates/console-vnc.html:86 @@ -653,7 +653,7 @@ msgstr "在列表中查看所有虚拟机和主机(只读)" msgid "User" msgstr "用户" -#: admin/forms.py:80 +#: admin/forms.py:80 admin/templates/admin/group_form.html:39 msgid "Permissions" msgstr "权限" @@ -702,55 +702,42 @@ msgstr "磁盘" msgid "No limit" msgstr "不限" -#: admin/forms.py:216 +#: admin/forms.py:218 msgid "Enter a limit or choose No limit." msgstr "请输入限制值,或选择“不限”。" -#: admin/forms.py:228 +#: admin/forms.py:230 msgid "The user must change it at their next login" msgstr "用户必须在下次登录时修改密码" -#: admin/forms.py:238 +#: admin/forms.py:240 msgid "A user without a password cannot be made to change it" msgstr "没有密码的用户无法被要求修改密码" -#: admin/templates/admin/group_form.html:16 -msgid "What can its members do?" -msgstr "其成员可以做什么?" +#: admin/templates/admin/group_form.html:27 +msgid "Group" +msgstr "用户组" -#: admin/templates/admin/group_form.html:17 +#: admin/templates/admin/group_form.html:28 +msgid "Users who share a set of permissions." +msgstr "共享同一组权限的用户。" + +#: admin/templates/admin/group_form.html:40 msgid "Each member has these permissions besides their own." msgstr "每个成员除自身权限外还拥有这些权限。" -#: admin/templates/admin/group_form.html:33 +#: admin/templates/admin/group_form.html:63 +#: admin/templates/admin/group_form.html:67 #: interfaces/templates/interface.html:113 #: interfaces/templates/interfaces.html:52 msgid "Members" msgstr "成员" -#: admin/templates/admin/group_form.html:47 -#: computes/templates/computes/form.html:46 -#: instances/templates/instances/edit_instance_volume.html:112 -#: instances/templates/instances/nic_qos_form.html:23 -#: instances/templates/instances/settings_tab.html:412 -#: instances/templates/instances/settings_tab.html:653 -#: instances/templates/instances/settings_tab.html:907 -#: networks/templates/add_network_qos.html:36 -#: networks/templates/network.html:336 networks/templates/network.html:376 -#: networks/templates/network.html:403 networks/templates/network.html:442 -#: nwfilters/templates/nwfilter.html:153 templates/common/form.html:23 -msgid "Save" -msgstr "保存" - -#: admin/templates/admin/group_list.html:12 -msgid "New group" -msgstr "新建用户组" - -#: admin/templates/admin/group_list.html:19 -#: admin/templates/admin/user_form.html:141 -msgid "There are no groups yet." -msgstr "还没有用户组。" +#: admin/templates/admin/group_form.html:64 +msgid "Who gets these permissions." +msgstr "获得这些权限的用户。" +#: admin/templates/admin/group_form.html:68 #: admin/templates/admin/group_list.html:25 admin/templates/admin/logs.html:20 #: admin/templates/admin/logs.html:26 #: admin/templates/admin/tombstone_list.html:20 @@ -761,6 +748,34 @@ msgstr "还没有用户组。" msgid "Search" msgstr "搜索" +#: admin/templates/admin/group_form.html:68 +#: admin/templates/admin/user_list.html:20 +msgid "Search users" +msgstr "搜索用户" + +#: admin/templates/admin/group_form.html:74 +#: admin/templates/admin/user_list.html:86 +msgid "No user matches the search." +msgstr "没有与搜索匹配的用户。" + +#: admin/templates/admin/group_form.html:82 +#: admin/templates/admin/user_form.html:170 +msgid "Save changes" +msgstr "保存更改" + +#: admin/templates/admin/group_form.html:82 +msgid "Create group" +msgstr "创建用户组" + +#: admin/templates/admin/group_list.html:12 +msgid "New group" +msgstr "新建用户组" + +#: admin/templates/admin/group_list.html:19 +#: admin/templates/admin/user_form.html:141 +msgid "There are no groups yet." +msgstr "还没有用户组。" + #: admin/templates/admin/group_list.html:25 msgid "Search groups" msgstr "搜索用户组" @@ -984,10 +999,6 @@ msgstr "自身权限" msgid "Off grants nothing here; it takes away nothing a group grants." msgstr "关闭不会在此授予任何权限,也不会撤销用户组授予的权限。" -#: admin/templates/admin/user_form.html:170 -msgid "Save changes" -msgstr "保存更改" - #: admin/templates/admin/user_form.html:170 msgid "Create user" msgstr "创建用户" @@ -1001,10 +1012,6 @@ msgstr "新建用户" msgid "Users" msgstr "用户" -#: admin/templates/admin/user_list.html:20 -msgid "Search users" -msgstr "搜索用户" - #: admin/templates/admin/user_list.html:24 #: admin/templates/admin/user_list.html:37 instances/states.py:11 #: instances/templates/instances/power_tab.html:19 @@ -1041,10 +1048,6 @@ msgstr "禁用" msgid "Unblock" msgstr "解除禁用" -#: admin/templates/admin/user_list.html:86 -msgid "No user matches the search." -msgstr "没有与搜索匹配的用户。" - #: admin/views.py:57 msgid "Create Group" msgstr "创建用户组" @@ -1914,6 +1917,19 @@ msgstr "已保存" msgid "none" msgstr "无" +#: computes/templates/computes/form.html:46 +#: instances/templates/instances/edit_instance_volume.html:112 +#: instances/templates/instances/nic_qos_form.html:23 +#: instances/templates/instances/settings_tab.html:412 +#: instances/templates/instances/settings_tab.html:653 +#: instances/templates/instances/settings_tab.html:907 +#: networks/templates/add_network_qos.html:36 +#: networks/templates/network.html:336 networks/templates/network.html:376 +#: networks/templates/network.html:403 networks/templates/network.html:442 +#: nwfilters/templates/nwfilter.html:153 templates/common/form.html:23 +msgid "Save" +msgstr "保存" + #: computes/templates/computes/host_nav.html:4 msgid "Host sections" msgstr "主机栏目" diff --git a/static/js/table_filter.js b/static/js/table_filter.js index cfba1717..f839a170 100644 --- a/static/js/table_filter.js +++ b/static/js/table_filter.js @@ -7,7 +7,7 @@ // be the chosen state too. In a grouped list a search for a group's host // shows all of its rows, and its header row (data-group-header) shows while // any of its rows does. A page's #no-match shows while no row does. The -// search is remembered for a day, per page. +// search is remembered for a day, per page, unless its box has data-forget. // // The instance list's state pills (#state-pills) set the state; each one's // [data-count-state] counts the VMs of its state the search finds (its @@ -68,9 +68,13 @@ if (typeof module !== "undefined") { } else { var search = document.getElementById("filter"); var states = document.getElementById("state-filter"); - search.value = Cookies.get(document.title + "_filter") || ""; + // a form's search ([data-forget], the group form's members) starts empty + var remember = !search.hasAttribute("data-forget"); + search.value = remember && Cookies.get(document.title + "_filter") || ""; search.addEventListener("input", function () { - Cookies.set(document.title + "_filter", search.value, {expires: 1}); + if (remember) { + Cookies.set(document.title + "_filter", search.value, {expires: 1}); + } filterTable(document); }); if (states) {