From a19e3f2e59f5c82249740469e3966fe25fdb8032 Mon Sep 17 00:00:00 2001 From: Oscar Date: Tue, 12 Oct 2021 10:25:14 -0500 Subject: [PATCH] Refactory 09 --- constants.py | 6 ++++-- folio.py | 31 +++++++++++++++++++++++-------- service.fods | Bin 16694 -> 17688 bytes service.py | 6 +++--- view/board_folio_form.xml | 18 +++++++++--------- view/booking_form.xml | 2 +- view/folio_charge_form.xml | 4 ++-- view/service_line_form.xml | 10 ++++------ 8 files changed, 46 insertions(+), 31 deletions(-) diff --git a/constants.py b/constants.py index 8cf9161..298c4e2 100644 --- a/constants.py +++ b/constants.py @@ -94,7 +94,9 @@ COMPLEMENTARY = [ ] INVOICE_STATES = [ - ('', 'None'), - ('invoiced', 'Invoiced'), + ('draft', 'Draft'), + ('validated', 'Validated'), + ('posted', 'Posted'), ('paid', 'Paid'), + ('cancelled', 'Cancelled'), ] diff --git a/folio.py b/folio.py index 0133e63..80c061a 100644 --- a/folio.py +++ b/folio.py @@ -66,7 +66,7 @@ class Folio(ModelSQL, ModelView): ('template.type', '=', 'service'), ('template.kind', '=', 'accommodation'), ], required=True, states=STATES_CHECKIN) - unit_price = fields.Numeric('Unit Price', digits=(16, 4), + unit_price = fields.Numeric('Unit Price', digits=(16, 2), states={ 'required': Bool(Eval('product')), 'readonly': Eval('registration_state') == 'check_in', @@ -113,7 +113,8 @@ class Folio(ModelSQL, ModelView): invoice_line = fields.Many2One('account.invoice.line', 'Invoice Line') invoice = fields.Function(fields.Many2One('account.invoice', 'Invoice', depends=['invoice_line']), 'get_invoice') - invoice_state = fields.Selection(INVOICE_STATES, 'Invoice State', readonly=True) + invoice_state = fields.Function(fields.Selection( + INVOICE_STATES, 'Invoice State'), 'get_invoice_state') type_complementary = fields.Selection(COMPLEMENTARY, 'Type Complementary', states={ 'invisible': ~Bool(Eval('complementary')), @@ -143,6 +144,9 @@ class Folio(ModelSQL, ModelView): }, 'bill': { 'invisible': Eval('registration_state') != 'check_out', + }, + 'pay': { + 'invisible': Eval('registration_state') != 'check_out', } }) @@ -199,6 +203,15 @@ class Folio(ModelSQL, ModelView): continue cls.create_invoice(rec) + @classmethod + @ModelView.button_action('hotel.wizard_booking_advance_voucher') + def pay(cls, records): + pass + + def get_invoice_state(self, name=None): + if self.invoice_line: + return self.invoice_line.invoice.state + def set_registration_number(self): """ Fill the number field for registration card with sequence @@ -295,7 +308,6 @@ class Folio(ModelSQL, ModelView): 'party': invoice.party.id, 'description': line['description'], } - print(line['taxes_exception']) if not line['taxes_exception']: taxes_ids = cls.get_taxes(invoice, line['product'], record) print(taxes_ids) @@ -630,7 +642,10 @@ class Folio(ModelSQL, ModelView): """ res = _ZERO if self.nights_quantity and self.unit_price: - res = self.nights_quantity * self.unit_price + res = self.nights_quantity * self.unit_price_w_tax + for charge in self.charges: + res += charge.amount + res = round(res, Folio.total_amount.digits[1]) return res def get_channel_commission(self, name): @@ -841,9 +856,9 @@ class HotelCharge(Workflow, ModelSQL, ModelView): domain=[('salable', '=', True)], required=True) quantity = fields.Integer('Quantity', required=True) invoice_to = fields.Many2One('party.party', 'Invoice To', required=True) - unit_price = fields.Numeric('Unit Price', required=True) - unit_price_w_tax = fields.Function(fields.Numeric('Unit Price'), - 'get_unit_price_w_tax') + unit_price = fields.Numeric('Unit Price', required=True, digits=(16, 2)) + unit_price_w_tax = fields.Function(fields.Numeric('Unit Price', + digits=(16, 2)), 'get_unit_price_w_tax') order = fields.Char('Order', select=True) description = fields.Char('Description', select=True) state = fields.Selection(INVOICE_STATES, 'State', readonly=True) @@ -877,7 +892,7 @@ class HotelCharge(Workflow, ModelSQL, ModelView): return today def get_amount(self, name=None): - if self.quantity and self.unit_price: + if self.quantity and self.unit_price_w_tax: return self.quantity * self.unit_price_w_tax return 0 diff --git a/service.fods b/service.fods index 5662d0ac72d6a8a3c98d10ca5dfc39da1b45f033..440cb7a2d8924e812b2ddd7d675d8c614bd83b81 100644 GIT binary patch literal 17688 zcmchfq)=^fYKbl%LiDnhtdK80sY=Segd*IwKQ~awK3GS zv9U1K*L5(pwxV;gGN85AwKuh=wYD*|GO*Tnv^2DGptZNLGt@P(H!(DHkoh;v519WI zjE|ClwUv>nv7_BT(CiuLj4Z5m9SrU0{_nIt>U7l8{cl=We^Zx@wT+|AZ`J?H+8nH{ zE&i+x5)$$s*81OOeH6(4rZ!!DeM1YwkA_;?(dj$d+5I+?i=_n!kcL&%g6W=lv7wpZmYl``ri|T`NP2|I&Dz5B0xxkd2+Sv7Mp)|Di^_ zztJ?c)HOD=r{gzuu++7&|DS6A&U&yP%9grTrbdSL4zzX#MiX%pR(@X*{V%uz3@4X) z>A=A3$VXeuvbvcARlw-3Q;|11Bjc20^GlDj=65QE88;*A)6R5phQn%$dlZ=TDM&^| zO&X4(6GWSlw{XJ>o&@D1U2Hv`0z$ReINCA z@WW}9k{Do2ypd(^$vN8|(&?D<%jMF!q>7wc-Ux;*+|&BiQGKrAx9O2!;&!g@<~TQS zwMi7Olg@B1ecZw z_m_s646nUuZ0il!iwWL_Z|9EJ(34c=O5_q0;@yx`38qSiPe-_$xy)U~r&dLvUrmMD zAW$xG`7>_ic2sxr=c#VV{6UEFPg?7#auzX-%&WK< z?{K+bd{;n{T|wOsYMU2TBy6!9O)?_=^6|5E5nW>oFjHDYD#p9)(+tPF0jy53-k zgz7UIdmnZKzT#mP!r0;fEg&>!R7-oe$v z(EfLq?WwQZt+9OW+$@^@njytdhblG_O0$qyB$+DdjM9Wsv_1we=!@D!-1CWG?0m0t zWaC2pH0?C*^b_P|7OId$?OXz54HOPe`b`GjFU0A+J5P-8^RJQ~$eN~$%k#o)wIMqq z8wvL}2hPs{P93jvB(|EHgD^qMX^0}|0!zR+r+Wngr0ynf0iDxOhEYMa7weOIlj>n1LjOVvYF8UdWCEyty zpE<|pDO_RH?pSm2X(J<9wxH)W?1=)8y?)&*;|xmH@`6c^b7#1zM%s;#+ReVk+Vwrq z7k<0o_rYi+w=K?@v21T42oCL8W$$Kylgc~fK4#;KqXRxE`Q!@qb@sxe-7`lR)Zjk${1KQ)AQ=!cLZ^w^XF&U||OQB*lg|sS2~=yn5cpIQ*bO%Anq+YhYfXcgyI|D529Q=LtQx;`9+&WlO} zRNq7;;3R5bR9Ea>K5QvLKR6hkJp6?;yoO`mFN^}8jPFGGyjl|K~GTiWVj8+!1_l%%1T z1(^yD>c~Mg+XyNwp|-z|E2(cL`b2EoDQV>3*8mQVuoVg_o?1JAYT08pR>jamNv(DZ z(sie6I=utbj^U7IA~ezFe$rg56%{K9p zS&?SvxY6e*ZxxR)@y^o2bbj<)HkdEN^G9h3oTwI;W6Ij@r)g#56tXxFv&e2Erg-K< zH|vpr+rtQOw{VFQ+?(}>)$1<6t8?2F7yRUwZVoHelXu`dAMj4QvQ9l6ccSZ6y>5*; z{R!$@m>u5^FKHKfnn(BN?6E_~11aBD`_1=D5z$o3)Gu_Vc3JBnTXaJ$SvfiI$QBJY zWvSd>)LHM>>cOX-lr=cb3d?UzJ#NJ#E3o1jAl)M-ke>q6^0iYb#W8lV_k-(a3R zEXtBGg-RS~lgrkfF6g%p0=_h28xGhxxfCazWva4b&&$ZzkL7hg5ONb>kHVNObt#Wi zMAGYJLx8IHXTyMrZJi0~=fIZ`7`qj$BzM(X(M|bi;3qzI-RQkLj@P$GL^aQPfVZEv zyM}pM!_D#rv%3>LpY*>j$UU=r0k7=w(aDCF^A%Ht-SK6_-o`5h-S#r4r}^C`JDkw7 zhvS}=Y@*^-nDvSI!4W+HH<}5oY^c9X;ZNlG_L>}c3Si*&t3xhWI!~t+ed}Zqip;Fa zs5D<|L5mR~RJl^}nIs<~?QQr5zOIUQAYR-T1vPQ?q&hAP1%L z>5~Bqk#>H|9zP(1*yD7tqua8%1?_LdR$kW!zIGPO%W0dTB%czmxu77qy~X5H9Oopk z9XODUK5deCU);yO?~DK9ZjBRFp)|C?LxRzKmy`{61s2jD;-R~FIjn0=!Axw?M;Rf~ z-8l4qFQ%L3)XT!nY!Uf*tGtUM)vArpO^MB9*%Q?%j}{l&g_kBTXA{`sg{fjoU$aaT z>A`tl)8y6PK}EO~x}6vf&Xfn;Q#0G*0jAMqCfhb%fVlZUs|=M6vc7k$8jYG`HR8)Y z-`B3|T^tm$85?1D6-1IRAL898@mgn0^KOy!SXYF+S^RS~Hi|1H5HYc_lEVo%SSs_e zUnyr-_X{E^wi5D%K8~6ih%6ZG3=w+#$dikgQIOhVXQKH)Ki1T~)BPe||MU}_X@9?L ze7djiAxDnayJRMikd$5?o2Mc&;jxczc>gPI8gtfIior|h*TJedRtK=EG#T4nOEp!MSb z28XER_?#}y`((_LSzScj^6gIU4KuCe!;y$2m|>^;RTjJHt&xRcw$st2@>gSJMI7N8 zTA_5S1J};AgKT>>?VX*SOr;UEB$d4KR}fY|_m9GBSx9K19c?p!gXXi>IE>BHOfNIRT}?3+pr+eA9mF8B{hUZe zp;+Aauw~IyLEl-KXPTOtGDi0Z4R}nVSl`Vue1qSv7g(3aoFIosOwvufakb@Lbs~0V zNxg}fd38MA1N`HOsd(&Sn+OUBD3bfXt%YGemR9=KRu2F3uyv-nX1B(M?73N`Ly@3x z%_}yqDSk>(wWGig$0py%*l-i?D=NC}Pt4Y?a{s#M)%(5-+#V7SiA>CwYPVa;hCE}! zgaxqo{{-TZeBOR(m+Na?Ahj@XK!wrerBG*Ti(*&&zvR{Q>nC(3Mue8oF*oP()tQ zV)Xuv>l787nDX!}p6~lFcuq%XCC5)NgcN1Hxr5smRy?UVh}p#gG1Im%bZUj zJR8B*VJ`>SM;db1->gzS(UXJ4T<_28nAb@U(et69Lgx>&#jKL*?pDi~9y}rR--R8B zbYqy_Ev}o)15as_2!2RiHDYOKP=HO3)(C>vu?(9g{aRQuh``Y)b_Bm!9>KMo+RPtM z(4R4Ong-y`z3;4H!5MD>)d_^=)Cm*^rqLPs7L04#-nexvVM5;&K{G`FuXOrl=ni~F za6t4Y!Md7Api6*;z?G#*s3zgUXDE1x)nVLr*D0b<>BVtqxh@eCemA%TL=KE=jG+EY zq6{ zn>EX|1*zkK(?wDa;a}@1Jh5+Iw<8e`=|0oKavtbf{IYLwpYcPBMCwP2&MD?qt()3> znj>(de%uVnH_m{O09(G&6G1{gEWK}b$E^|2lL&E|(kHAo8(5Q$&O#A7*Gz-YvI} zxKe!i+Sk>MXEn)oVWJZMWWp(P0K&ZmGF?v+?fq5fYp$i>;FL)oN3XjJ0&Ml5T(eOm~0MB`Lv!X-=%;C|Eb_tfmw%Pdi>2&Xxjui zXQr%?RxC`LW6C;I|3TreYePLOI``DZ9o?8z^jB`dJM)tFE``_e-{~m0ixG(2V=ti zjFir>T>zQ|XFLHV#V0_~Ba)|U?HJryM#Sw9}x1Aijzqx9pW#9?V;Czl&% zhk?gR#!6yGQFQrU&)!3!E6E=GfGr43vrhq$pz4~ynW+BVCNtB1mnIEMwgqGs3<2-B z+bNqQRR?ashRPC5V`Ak*v0UVRB_wyX5F8go68z_|Sdv+}&=-p2IHQosYZ(PV@c?HH z3IbSX;`5tSEIC^gX*m3`aQwTsDJ+EN>l_j=2ONeu`on!WNW@`IxJF-%jdAC?(>+@t zajTgN8Kn8o;M_{Z+BynHJ%$0W;a~&;n(9EcdJ!|=u=GB6Z3dA51rE@(qA%Gc<^uIG z<}n~G3D1ZOP1#U<`SXY}xEL`7(Tra~FlT}{P$n4$vxhFq^U6YzH;MaleH*~WC$wPO z;*su4`(FF6R}1C=S=B3zO>zRC=s z%%Q>B%W1+oD|9VRuMRIBrh}?S{fwxY;ACS>J&k7IwT#5gH>0Y^Q<-Ab zf5|jU;MuDmmEM!LN#LP5R4f~)B)eSLb@4{NRfN$iIgC3V)H<0+1;nQdTV6%yR5ag6 zj?`t{i?}#3^tQb|qX@a+>|c8^Jx&E8!)a;VM1YU2BAAUg%RZ1qg?=j-c@Nhg!WxxKbAxinpFKr7cP|{{1H#Da}>}PXIiox4R?~RLDJ{H4NX10C7Xd^II-zk zikjxetbVXsMo-S2aE7yxLLK834%3k(g*LWY8vyih8d_goEM9YLfxyUaDq`3xE{-yS znoBsm8!tPfRi$MrZMgjw52l7vX!vthvPOT>qp~q>FuGviq`ve#fvTvy!nR@ejp!>w z1oaoJwMHD)EXU9OR1=_eJH}aUYBNBMn`e^8T1N{B7%c-t2OZR6=M_ZSk>AYo-d@g& z97g0@cWp0XrPXluvSxjy5>E|Aq!PntVrMGTw~a?a&$00o;Uxtqm}uB+(rw%@+a?os z^C!>bN5x$mu}*2l*=Yo%CSP{jr6=164m2OwjX)msx#rgBq*xIa?k1o7olGz5R%onx zBq2zun2KEtKLx=+skz15aClX0J>Egya27fi0cA2otwy`XTcWq%Gfp{u7B+gbYPbjO z9dz<6q>=2jx)7v6L3pXDI@WQ`Y;-!cqkf2(I?zNvp6LG9Vs_8nYPLT@4AVQyA_Q59QCbB$;Q1*YdWH*|c{U8y!8wC#}l4o4X-@m(AHcLx{Q(W6_t#QOMm6b}}6 zks{FRI=y^(iZ08;?ct1?%QI+z>jp1sLj7`b3RHKhZsS$77s`A%80#{nK%|W_FW}K% zR9uc>%wVC)TO`s;LnfSqdb|>cNh(x7g$dQTewQVp`DzG5>2A^>XNUvb0zXTiX@GZo z|J0VP6B0jk7-p%4NPZ8_fAE?CSQ_fs?9nECXgCQF%=jhi0Uguz1Gh$Pi=N1&`c`F) zinz^b+&h+^jzvCO(xa*i@gZz#({*n*N&1NO`jfWz=&m$Im9G55G?Kz^m4`nC%qCS5fvy@vkXm%^!H}b*B?Z__08R6+U~Q zbEooxaVPFyw9|UDJ*BUPpQ)7AM25ar=@Q}2!n^$p3$zI0LV$!~LTWoY7KZjUK>Z|f zbyj2TgTk~+yNS!#_sKd?U;|d99W&CEG5ykrZEwP6Fl{THRlx2OvvDM~y&)TQFMTR? zVA;+iQFeon_b1SVI{2~StvzcWmY^2PNR>G)w3L3Rwwi17vWYts?nNg-Nw$?aX z{1~Ocr#R#rjY}S&Ek5}Oys!wNMqZlYPY}8gjfZ!^)}IFTmwd0CXD!IGVV7OuOYJ+Q z?>M_HGZ3cS)Bha;*|klNZss;PrI z^$OriGUrx>`J14!u_$z$!1SNfmt0($mjGul>2-_gehTw@HzD30DUReib+wR;`1L+i zr0gHc!w4iRJF~hz_b#7=Vp!*vXE28bLEu38_U$74|R8Wsyuxf95x3#~lLJw$YX>8hdLqmvlZnSr` zS_Kd*H#wtUxWY<1mU}!tKgo0cxZawZNOBtAvu@g?wJJ3y@rFt49Hyz6P@gpap3(tc zWjP0Y0Ke<#cR5V}`#e%dD1zXhna-I%f8g?rkEVjRdvR;gzm?BFl7ZJ+!Cp!-=aMY%56jb^%OiBolQHs&v}e*Ls2aNEaoXP7sWoVrPZqQ2My3-m zx!sEn)uMftJBa|)_J!2T*?j6{wl9m)s*pg^FK=R)k@GJLSBG#0RG{-x|VhHBu4@Qg8up6Ua z&4$=ulva|~QQGB_D#ciqbB9`N$) ziBs9aTkGD~g*{#t7vCTfi8A|LSS+Vce*rFGT$#pHWro&nr#8S*Y)F5%H&H;k4wGDuarAeAUwe;9zE?D~htwYgDl2?gG7#Vz-jj zX_@Q&Ztq!DNxMjtm#1-JnLe`Nj#mXa5YOfFGaE9DY*^#b=-P zkl!_G(HCRel>GbSF`KMhuE#u_m=UNn8R?8kj57EYcD!Hp@4e^DaO0(vKwYI z{4yF7eSUFTdpF>9@`&YHZIAXKU?mfn7!UcQ0*GiP7x!o5dweYj4i1CQ&+_S}`b~_( zWbE65cg$bdmAukl`B*=tk%pEYysQF!*TGS%<7+BpDrKzy(kK$I2Pt~)2KzP0-3nn_+@60b(0(Sd zT`%0!0fMYs^OV41XdtPD;=^Ys_^mZA?lv~IE0)X7Cfgo!zy(x=Qd@?uo_lT_fcw^) zrw>IUmTvR~Tz@~t$9YIEFnVV9lS?X4PcO*jMaeMqa|L%7k6pN0VRCH-RcQt~)0u^I z?Twi#<5zJIn-bSUlsI8HNG??fL&E-4esY8S5ulEdwVdb%qWaJ8!FpCbXRzL=1R+DL z#NOTXLD4fc;@jORLeQpmVL!SHNq+%baW2qOW0g;RJt6*u{9?sfy@J?nd@)>e7VAOnQSfJaHrb(i#iJ(wMvr{iUI0#XGr&Alt<^TOOA8EotR5XZNw}m9nD>AELW7u;sF& z^~KrbCbL#<2P@wkd!BQr2#7utOtS}9v$qq~q~Z?ja5^!+Pl(7ZPAk3j^m(wKg6sYIiAZ73;sUAAq!Wr!q>tUM7@6A^ zT9Yc@oC22-3rsn>y#Yz6oTfi@Vb6ZPSdsQ#y|L8Y$L*CE6OIQCQc=_tp1oF+XJu*Vglwal2|+n0r=ti=8b)jSR;Lka zp%f&wRJ#BMVh0oXx|TZB>y#V5tPTp`{Q)9SYNmAkOEFD-IsVi{f>|Tz+u-?g98EGeS}Q?d*G9(U2li-M~K+(?RTV@ zf{CN0o|Uetg*~0aA4OUlE8`FuDG@kmtlvQtaAKl@av$G-k8K+ABjy4KKrMm|1oRPO z^<6;-l*I&s(+-u>ltTasiqGjYpB1`@6St@mxrh~olnaHdJNJXQ_1f-9_o4)vict8X8b04T9!87ty~oy zj8q*QzB_ryn;9GH8rxXfdpcVhI@ww{ySl-M`XGw>V95uQEBO;?#xQI6Q|Kjd>V>eF zr*hb2aXaSoYx@Wr1`ArmNjRpfnEEN&#R|C$XY_LC4odzg=Z&cnO=(v0D^&}tSI%hu zp53XQ)8XQuWE4_r5ME=N*zOpT;}KKnl-6#T*XB^tA(+u4me;RbJSbZ^tzI{4nbvKW z*=JZjWL7(F(lqZ}((7D5=F&Fr-n|;=^*zwlBEr)yFoh(lingSaHZolGM}&Tmk5_P_ zNwlwRTBc!YsZ&mZa(;nnez{|DyLn-gT}Q2XV~cZgA4}ytTkAGg<&Z}8xKhKiXzh$_ zd7obYfXC>D>%_j5pRcc9SW0+oYIJx=dVE+~T54EaPIO9sY*t-Hen?h+TuOFXdT~Qy zb#s1PKwer(ZAM68Wkh~Ka%F2^d39oAZe(L#bWKNaYiC+sUS45YT~S?ILwR9)U1@uJ zyMNheP}Ou`^H^Z}Y-&|sLfd#^>tadMKu*_EeQRG~Pgp~5SleJiXHQ{h-*Q^_Wa8j* z$mn*`#CG!Reo@~h-NaVY%0b)KS@X{IXj5K) zM^jH%-@tfa|5)14Oz6m5`toYT+*)$)VEM>M!}xOE#7xs%U;WHR@$6#z(m~qXcK+&q z-S%Y5?s3Y&Rrbip$iT$n(8AC8iQ$#CzNMw5!L_~F^_`8ap^@#Ak;B`?-Q%T`o8_yg z!`1Qa_0_$j(c_)9)2q?zqqUQhlijnci>r&n+sDh(qo%Ea-&GOLD@|wT#dY<(fE?`uKP3E;Yz4O!FizO zD(Ru?Jt}nwVTZ30cbN0SELAL`fpQF!gA>C@r7G!nIk~V;lT0$TsvLD08LC4wDXyFs zH!YiK>yl0aD&5Kc$q(0K)*IvPt``rUU7PMVMzIzeE_!6>dquA(8Jh?DUr(+G2QF>` zxhG;bPlOAH`nEjNhv=Af%Yb)^H>=#*xs@&Dh*i=RGjSQcc4~S4vtOB{ap38l>pPq+1@*hMBPrO0)f?vL5_B% zdUu1aR9UM*Rc(rtcyHtEPLo`2S1jrFfp6#Ngr|C_Z%r8(UW!yM0JfxxmjCs+YN>*D zL=)4b&zX#Sqg$>WH4cV|^`-sXb_9Xgq8|7)s~CuNdtt`ird|(|zdH*Q4|{BhH|H~C z0BYjZaeTs^H^lw0gl+GZwjT)aZ8#V0(+qSI-V4_`sx1+sNY|NW40PLDC+Tte)kUlfw;A^ctUa9p(I9Y_l)>jdLdF)vp(^rI)zi(nTGlxqMHIubYydn^2!Qwih{y zyZ!hlB?1r!vE4DaW!=^{vIH#Yp$kG#mx5JM>d?uv=4LZ#-6 zCs1t$LU%Ob*v^QbM$ua~^n@vN^d;7HCw$;*$FF1fA+&yUReoWSl=HIj!|4k9YIo?IC3!J{7%h|6Po z7M6oLE`?ZhweIxR!U~M+@<}Klnr(-w9#b00T|xDHhf&@ex9^&ifzm?o_g8+L?lrq$ z!z)MocILD8qX6Q7t3#?_3W3vkMjz$0aLm+ZK5_0?zciMtly#}E zhU@^yzT5U`x0&;kp)-&=-dDCPf}4)sfQUSB_<@C4{5I=7-MxB z0f+`O3JeQ2d0k3FU-pv{yl`_(nA&24-Vp85|X!x<3xX8#0~FJX*4N_I)Xhk`j2I zD4J46Pg@@APqK5rcL>XV-T3A_s%0|dsNAkQ>-U_&#Jl62#AwqV|B$LR$D2py*;eKBIKeGsXhI@AOO>XLjMCXB`OO z*!KRk7N_O(rT<>UYRF|z!{)r_`w}mewuTG#?VT~fi#Fw@wKIuWHKg9i{7EptSo>i9 zCZ;Ol{jutW|L6`{%Vpv9X$cY$03$BZbF8^ZAO-Pm@$duC)FIeN^`Li^W@sq&x^{yY z+$Y_;M6y+Mu$`dn2OtAHwU0O>0s1IrHFG6GKV2yl(TTo#n^xAXQ?>3!{gil>uJndF z*=(O@reiq1(LQ5-yQ2FQIMv6(Jq670OZ!P~|H!EH`RAEbI@?>0b}Dg_WM-GnY^Mi6 z+E%i&pJYYeimWXN{IzR>`AKf6V|pa|g6Q4*xi2_8*{?`qJ}{Qf4^TD1ZHIYt5J?F* z&{4Q(VHw-&2f%@v?y>&(^f)kr+^Dn>Ry2Afp&LA(kh{u>)L0m63y>wJ*5dvOfGW~_ z+4ht__rIzl&h+`^^q6CQO3@_dshtTUWEHj~*^2VmAhy)l$+Aazn>n?> zoTNc_H_>UP@T9Ah1#ku11iJA)vUDM^F(ob>5R0zsL93~qt!=A*V^1#Yl2LQ=gjV15 zkKqsOIDE8VISN_%YNbzdEw1<6w67{JL7Fh`4z-Qvc8X$P)(+}+>;ToTbd=xXOz_3G z(0Yp`&YH0Xa;|_4su!U$`Bt@=N`t}GNALphF{#MEBONUDLuF`Wxc|>(;x#J$M8UJi zL!_FQLd);vcO9k1Kr8M=l<`nN{F#L~@9CVWOsOojrk&kDpR@-b-6?GBs2URv z)UR$T?u)9r-PVBsc%4EVpB^{gRNfLEZ{w6jy?KnyK_0sdL!?{QJs}E+?A;Yzi8`*4^&8mrzzXgoY!BW-6RGdoSZB&I9I8Ud98QA=JsLEo5CDUnsdg! z1Jc;1JTB(cPdcl*CvUtt531C%Ht*k(Zr-c`4LRH??@SIe_mfl{S$$m|DUW#JW=Q8c z7xzKC-Z2%5VF8~XXk?@8B;v*Vl|hrp!}28N!jzwuTKhuMDyk}rRrb2lG{-7GZi)J6 z$!zJxqy|USc_{^7%r?KL5uJFWHEK6{-IVSCy3CjDNm#B2yWV$E3g4{NvsNOm)IHmp z7Pqyn)}Q-LN5tDvnG%4^+jCVs`G{~6J!FZ_!;Z(jN`#<^Rk)KO{rg_xI|ixbe#vAP zbO@QDA^RYvus~uv{O~iu62w+A;$XMOYo)M^LItQJ58kOaS@jJyE^f_1f1~MyhPYjt z)PEo{~kK%6ItASI;U2EQ(@#^?=n-}%%z%A zDz|8>7TGM^b9Y^o^@^xLUtsty_VpZhMkNii(CmH?-RWbtoN7bM{_8BA)LrMr5fAHU zQ=6a=&9teAuYzvvMxb&_FHxH>J9-{uy01~$06M0(T<7>V0ROYbt8v?N00Jlgo`~mN ztP(5VEtsu}G-xE{czZ_=KgM@qVYhU=K&sQ_m_mGZ!LhWctf;A|=pmv~ORoMPLS9po zyQp=N@!h`SV8s@B@5%cuH&vAxZ`DEnDVz&%VZ%~qW<*O#r_I!1$AQX52k1j%RjSJR zmS^{NE8c81I4+csP&Zl@s$Ji<{OWvM8+6`vnj_8q_{)>0`E+Z{`q*>#{RPkCR~z6J z|M2F@Tk$DEagVW-M}fP{PHiFjs>@4_eOb+Gr~Jruaw7c3bZ@S3X?{H2X$O|Px@Ea} zn4~!u=dmbBIVs7S@Rf0ligjTeL-;l8`OyzSmlX;ygPhq#0S9~fzR-Hqa2r@D^Qc_k{QcOS~df#j=IhdC$qV2k9;&JE#S~>i6Eum1Hy?r>3h)1%GAlY=YSbNHV9fERfV7mXxY$ zdw#p>Dk&@lr=--bFDb3X+OB|J)mCV5WxLt5c6axle_6{6a=zudm02nY!gBY1w3))z zEaF8!Yb*z_Dk~x}E-tZQs0uh8UO2wvu|9O+p?3f<(HEXSZl3CZQ;dg`tS>@XKTW@% z-c7aa0Ipzg(EG&60wrH2F`v_~0KJoOoY)~uxWfjm&bauqkk@VxFc6WfxNJ2ycRL_< zyN{DQL*8z?qB~dV4i94|Z?!kOJ{e@#Ush7)FikDET=A)_Sw9b-YvXx7kjFSj`rwR> z&gfs@g1zmpi9{hi-PQ2CJp=5nUwCjQhVdBfu35dG-)49m@y?d4@jP>0x+l*;A|iQ7 zr*a1ev-)nV$Ge4w^vIYYqW`~PKQdrxa_C=VEey(kBOb@fbXnj%#VU8J{4Lrl) z3m6JXUJ17>upApV>noPTo|JGjmvJr1{Jvuv53WAj0uDoxF?aMy|1Pk{$!E(Hra-Lo zn{IO`V1A*wd#6wQD5khRx!`j-V1RcktDG!W5T^V_L{f=N37T%?e9`_5@8;_Lt<>vH z^q2Ez_7;f!u4MIJ&Agn6Y_wR%kaky&UhLy#uw%k1gIy4HJ&;k7fe7~PQIhn!ndS(# z`~txdEcCLG2zD2nS)~gRU|j>?w$VLoh)5WTJ2vfp2`-;Ncc9Z;+g+xF`AWc%E9a4mowN+n5O% z&14Q44TP6l{zb9>~(M|T$8}Gj2o3wzNt`JGb!$ZvWVa6Fq4}Kr3OxdGLb^7_7 z&*bDUYusS(A~;4*Ioo(SJz0;+bZ|B24S_AFrBRoD<~l)ZaD%#5!CeK)1;nEp0PIu@ z3)@VaSSU&yct+rH~vTvk|;|zT% zCB8#|(h}NhDH-|(@rwx`;lH{u`k{CTVbH@~_UTJPpo^A}!yjzri0A=}@^w#PO@wFp z$6{IDr$K|fiUrCl=CeZdQFLj`8hW36eYz6}|B0igh?z3+f>B3-dwLm!m~3qaS;qk~ zg-=216_wJSEzTZTgDEV`MqZ~8Z23^*gfcfuYItZ=`>w2L(IkePh{iWC&2lL$UmJqj zV->|xYy?UYLrr!TPZ=khEgaLEcR;NwTnYt7e({pcav#HtO&9n0cvHi!#L*mm-rgSEJ4uaG)vtA+;NV z!8jSO0ds(Ac^TuvVH}piY|u?eLZ%}{Xddqs$UZ=WtWU4}J;*W1(w8OLN=23a3w^lT z^ygX0YnV-rCriUz$FcGT8ozWxx(Ubl$&fmU$U|YJlax(Qr;Q2$n83MIUEVE5M#ncW z@bM80z12wed@sF7c>;EG!*K$BEsM03&3fFg5TzdR*Qu@o#w0B^iS6v{h~$B0;?m zRQkInMdUAkbZe>Hnh^C=MF_nPArc=^!%WV20_a(;0Ga!MD-?jIkklY#*Uh`K#PZ5g zWoQM3sia7%l}~UaE@Iy_ti1gOm$B9(vRD>DW3FmzV12q2TkhUoP%Nk^k20xw%=Te8 zdw*rl_$NsVF$7a2*Dn?)A;9*x>Foreru4eE5*m!#P$KwwNBFth z?Z5e}vMpJU{rHjtZ3 z@z5aA(9U)NM%=%Vmgy&>Rs1{|wl9~G*(eD+>hj8$eV4Cd{@O4$@U-csI(G~|1iy5D zba$+4i!KPQ1W%aK1P`qu&abph|KyF|ZYPs~Q0f&HghivMgm^Ka68uZFjS#ZEH|os$ zlZ$+#^B1qPif^{k9Fg>8!g4yY{zJ7Efk;mfq}50UT1o+YuWM!vtE*%u1zDCuYu<9! z=fL5JQCu(0`@uiQ8AR{Ev#Ts$qck^0gr7snd10@~-!UtF?KR;+&p zAUpAD#OA)+cf#lm$2oWn9Z#|9uc+9zTqz`@G(%wn9Nz!&?&=?>e>_$GzdOiFddFL^pyN{49*g>TPYNU^BqdnM zujBhqXT;y-*P?x#B`Ku9M<=v(f)FG60=ec$N`MOF!Pf#ktay%D zYgOr#GI;X{NWamR+QIL%Sct+8X9Sblp?(p}BzDG?VNc=g?)SdG;XBfhgl&&SS><30 z|2ch)l&>jFB6su+s;5Wb>sw;=Pg6_cODJ6#HM&v>P)q9h0&W~SaEHdmd%`oU-pc1z z*iZ3DjvQ_#!Iv9Y>==6P3J%GiGK7m}AP_0ffsl3W%iB5U3nz55htNs$L179Ud`58i z5$I&A*j}<0Gi>z-H-IMsM=5kOA0NZP3oa08HKjezU9qD3BTNgfE2>wflOsQG_thB2 zAKj0=MAZ@uId_l#{TUS>IK!!7yQVY zO$Pn#6Z!;<3iO{j34V9kpYjJo!C$rhJma6fq(6@pK8k-$asQKp;NR>1Q|qrNp?`z& zn^@qVY5D&d<#%HKpVIwN{Of=DSB`@JjPu(+_NP346#t6zCuhMwQT}yc|3N(Po3-Fi zq5bHAzoPsH4uk(@?tgD$z~6xWD}%v*ZsNb=bo>p@zcL#9XPn=h27k)k-{AZ^!@++> z`pt3hr_g;^@vr9k|1lo?yY2rqo&R?n&7WfN0rtN$%LfC(9|r!T*ZwuH{2$yA|EpT| z;r0Ar>G((T|6jHKHD&6zyYx@d0Q=Vr^uOx;Yb4O`gsMNK3I5;GtNyC^ug=|nZy*N# zzlRO|q4@`U#b2Gje^%*5`k!6Ff1vzfrhlDCe$U!}3JlMGn8Rfxz&^auKtMQ literal 16694 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⪼paS$`jCEgj~$YT%PZ( zUTUrl#E!&y6`T@Dw*F$+>YcL2Pqn}W1fp87Omx4e&0{ZWbSZPmMu#?|>0p-u=0j2e z|BxD>CmY_AI>rQo z=z2?Ejy%(w&hCqmDMS`YIb%Ykl7H`6+gx-`$mCc^24 z2~$ifUGxG}pT@dbw+2~PmOhdnX4iW8vx3+xG0`V(%ZNbadAXBvC-V({F98~!Po;I=dN9PME6sP?358>}EJzF5NfDxEk5u2VFmnpvz_mzQB zN(6&*K{Hi~1zYLIaA>zddNqpmnrUh4eA}H{D5`SK7>lA`MSb4c-Q(w9*NqEHJ88Qn z<{yVgc@**DsZ`h>YdgguO*%m2&C-pCGSZnAXW>=p2Mv)EH7Api$8un{s1Ct5(Q4(*BBmgr(R%H4w}_DuMm-^szoR1Y$sbKe zAM4x855}&yZFYCF_O-Oe(hk50xzjLr&F*Ze=iSrwxtoeF292zQvdVt&w^CyFr)Ef% zcu%aWv_sq-SzTqtxG93lDn1<*hP~SX6#ih%2cV~1=<&D50w|*iI=*PROMm#uN7{;h zgwYHAYs8p7YNMfvSApj7i{_tZM4JqB=QyJ6oxa|PLSEDIY*|mc{_!;UEi_Rr4^d<8 zw6&&HdQ=+VM7lQg)FJSn34gxatv8)KRAle1oh?0VR-Jb>`h71OOM8JaDgcw{-01A; zGy^Bwyy(>3@G>8I)!JOw?X-cU((TgTY!p)B^JsljSgpLQG@a8Tb;shNJf|Z6k(qm$ zo9ki_xKRjI`&l4ccI^763MG$pIca?rLkIB{Bu(C_l$1uhEvf?R-Ui6Y5}mR`uSi6U zKmgSD&rhEu71&4wzr&l&g*Fw-S*K!mslOkeTmz8+wt^Ntbk|h9oxfRl}Qh^jx_~6h4?;aqHV`o}X#f;70I&3*Oad_@wy6+=TY9EA9v_PSXw&%6!UbE;bNOZxPEyRB-(w2p%}=6uFXy=%TQ6G zQ2)fv;2lVqr3*1i;M}sV~^jqn2iAzTL)= zzENDIC>HjIo=o}B_#IDcd?m;E2Jo5@N-=v@_hZ0Et`(Eoxu~^jvTWh|cwMmCyn0-U z+t2-p(yA6I8i8g!jE!bl%yc#I%WY8y5S>VV3bmk?enDhV5-l`JvcXumG0%NRU(M6u z)RhXfp!JaxY;WRSPYb?(P7LvyRVwi$f!PVa+>`r)afs)zwQQECueGyzGIT5I)$5-9 zt%v=yhoKv(CxS`H=c^9IjLQPWny-iLIGy#MDW^Q}(A-%{5}nemKu@RwOF^<|R?&Q$ z+}9*uYcPa925yv*_)(xySv=DPZn27E03qchA)z2JpJfn`KtQS%K|ua}90lfA90lOu zYH1Ak9Y)#HSc_Y0#Ol0Iv^|s=%%mFdSFw;(H!Et07uQ&uST?g^Mub){{o?mQaMqgc zg}h}-^H%zq^bHglF&bGlsl&w<{Pgk%Af8$qeY4(CL)o6=e8)7sv z`#u!C$whyP0SZL7%rRFTHfuPmqA+NsGcaA$4k=#N1^XK2qS5!oy7Re(R2;!YKSc?dBms zY3o^DO<9;b1YUGhnoei3rlR=Veap6tfIw5p*HnfdZlIG{S=6meKWw`C~UYXB>> z{DG3%Z4d~vSN`}6LY2i&m$URSPH8{}?g(Ml9F)L!4N^`BX*VU+E$Lo!8P?;LVb?py z+gi5&$p>q9{6%ozVh_dA=#mt_C`)$Z^bKycw!X$Q}kDK#-}9&LpThXz1Ise(-=gsOp+ zM+}z?cMpdmI0Jg$ue+xB6pY1GzXc^$Fk9-psjzNjfdvCHYXrQ7y5u`slHYe)%F#Gl ziEKEGQlbE5Y1{0(>kB8%Y2Q0s<1;Q*%nC6fua(10iJWtnr^Ygs^IghL?#g8!w)~1! z2T!0%VByd~S(?3}!kH|#Z?VE?ohD(Kn}m2FTPXCf2q}?0*WJPwUarU}+c8dDw~Lpc zYyT}sSQH~ z?)3;_Z_K&Q)3&m2Tc(xWbk>&cR}>l!K9Au`SSQvc^d#Mgk08~6aDb}g83{bf9ZHh<#Q$lHf z)ASUJZS1IZZY^Ad3}g6_{eqmiPcN~v%DBoGv*cj%$mX6f?Gwb~R3p`cs1b3dAhi^+ z9yvjcesF}Pp@MLwUQKYpyyPRIG*-n)hdGnblh-nHHOCny?&02Qq-{dp!Lc5`?kU}v zIhi={M}kmNah%|5_O5+M@!S>ZySOArQr|x^+v-M`%D2%ScW{Cx6C}``A&#;0^(~Q+ zOAgaBGEx9Xucr9+ zjW1i2W;ND*DQ!{cl*W5n_=Ie(sar{;8v>Q?d6UCW|S(L@7NqRT`}j+TAfbRcaPU`8@)N2Qlu$3-Y&CriQb1xGYb;;Ci+L0gw3t+ ztoJZ0UU^3+&YItpNH>(Tyzrofr(puTb~s{#KZ+mb$W!9{SeUzJ7x-8qGS8smt zMEt#H>gTFAUmJX39W`ga;2UP%%XOXErbyiVkK1_xzzNuKm+fuO)g!|zinmZ8fu? zSS>^bgW*~nu)qqjB+S?WM{BwO-Os4K46mq}-no`4a^V98 zL|&~Kt&2b9JjZaEXGx!w~J7OpJULi2)nBHLn1 z53`I39!9(IoL(JJZE#`nK*?S4s5(y8WjT|3Y=?a1A*Rz3bXGwHu;XDoU$oGb&z+suUyKnk_`SGK{`E zgzjKr{*WCa=PmirHW`uEfZb11u>*#%8aOqB&TOxz)LGqE{aaX3G33uob{Y;?5lqpa zmhnPUzKHI^U6O+Ofs1YN%f+JIYC7}r+6QP9e6Q`GDAmriSRL4dj$-|g#{!z13W?8X zx*X7*=qN`nIL;X$=$86v+QyXvvDPVIf3%KjpZrJUB?S^Pb0^geB<>#KEcfEqpB!~i zL`^?PyDt;=Rt={Dg7QAygIN?U9M`$ot}nG#{eDdo zVDue%C_V60z)QSX11IK7P`XFc>SPmW@adzDT?P|Q3mxecDMu&Z2ZRy2PZo}8n)a8t zxI&hYpA^~f;|ba#-9N$CCd%2110R-Dw?4%-j?XHR%!j<}KRerpSWbnR*r_Z`0&mMV zCLZ9!veiW+}cqT|iN_negzXDw(J#SO3NZ4L;ki-EMB^-|oBZiJ?2 zdKAOtlAA_W4Gj#l_h@ec!Ng~UyZQ0Gs_vL7q8{qlXw#vM+BD( ziWM7MBQ`QY7|U0e4~@z#N2&`iSBIe7b*hTNtzK0YK##74lXzbb-DO^F_6}kuY)50u zb2 z&g_d}M3@?~>t3|a<5r>EM`ar>%^s<@9*p=6A^o}$!JWtHIK;h2_l{n=aDDfYojQOG z4JlDH@E??Akn0F|R-xKcJN6qHa}4d`eY4${p!{PY2ePj8cn($1F*h8;^LLQFm^}d^6>Im`}}hG0W0It7Wsb;v$YG2*_2=W-K%|Jhjc#kxFUe zZJ%c$k{DT!RjPFB21!KDup0zatE{Rmj(77Jn@?%NHjJD+-+XaK(_W^*`HbW}+aCq6BnD>YOnnkJsXe>6;Z8_;uP)0=NayN=<8j2dR6?9!A!&%3}pu; zfD5~Pux?Sjywh3vY3j*kr=IT3L*$dj5lxS6)GHnjv$` zE;Zl9cnIR1eSUZ{HpzuO&?KblEDE!VT#ci+?@PasdpC33H%6*m%NJpoMk>q+YLDQw z4nk$jO!}mZv~RDFPpwtZQq z&ev76VB%)0ax!9YFxbE2 z190MBg%y6i1AlF6P`?;K5>J|zK|nr$$Vn-Qkg_6vU@?W}wMXMIXBI-?m&1S)bV3)f zMi+79`yxUnWI-n3K&|M>EM?6k4Pcdb6jMQ$G{RFe#nH0GQwI{;zVvf?9ZgazQ(-%8PA6k_ly~X?d({Aa(I{)h z0%!dSXX_46>$-UJvSQv!r>y~g-RFr>sT0~4jQe;S4%J=Yu{O{>S;kiwj*}2Ju zjfDvT<(V<1ImvZ7QLW`!^9I-9MtbPr`aGQ+v)*2CoYGR-1Z9n}(P2`*!pC&I*Tj3P(;$`u5BE zPfN#smJOd5k6x9|-Zl)M)J)UDjtuRXTSUAM2^wQM|gY(EXxXO8>| zxwJO)cJvG^hmQ8P&X2T>Zu<=m4)%;M56`a6kB=-(Pb@4fbWffSFCF#GU-hls^=v+l zEnJSR-7c&j&aYh$Y~S_mJdSPOkL^B=9lb2?oXlay1z8Iy|Q$?y?l0dwzGG)dvdpP`gC$~cXIxCbo+9BdT@1i|8RADcXxYp`+WQK z_H=*qboc!7diVbR{<}*6fhc(JB_JTk-QvOmN-nEs83+z2%B|hvuGH;;XqINlj_bU^ z14T5$$D@9lu+1*Z#>N6JBKfaoA4J+l`wC+lsy~mqcRDv-mha4#Y|#i8^Yun_XV=8% z!%4YNKmT|qA~%~`O{ynlK_s_gPMlQh1Z;G~qf;g{`uHYo&@-oubZmA2ydPf9oiE07 z`VcXHFa=zqy!T9A)eL($8n8rCGdxJbb*Z5UG zI(QpRdCKPC@!KjqvKTu8$NT7fw}LMITDm=PWJ#6@pg?7cTVLF2mhD1sjR4>tw`XLk z{&AW~7K#Q2wV;s(<|m#CERMnlGqD(a;F>x2NNeVxT(5XH|@?TIsOC)vo(%lKv zBI_t+z}VN0%Tv9q#)F~@YGjOjYDNf)qcYD4JfqRlgFr!0n@U9Bo~W*WXC%3+qJY2# z-uDrXg>?By_q|@j^aG`9sR+XEiROful*|=LeJ)`hC8z_*#`t1L*fv~0N|l=tsNE}{ z_wgq!(kJw8gB}1EsDDs(X1tUtdYFN#MV#?h z^zd0L~UGxsfx6X5*i}4K8rhU zp-hWhXWWu+kK`}iHQqXseEB0KAVg;+^G?nki&LYlt_r>gw2sDKVOcx|7A>e(l01o= zg7d+944lqBWD9D1Df>7VE78c;FpGO%;M>!rluJ4%UrNUi^O|*C7m_7dmZ_9HCJVhP z!91Lx^bjcGAa9)^p! z;y#L0{b)QP!S^T7=$&BxHL8bJXi+zTzw1ZQ)H7fHr-Ugtrgv!mZGziZVZ8zFw>=mQqn4<40NqEwq*AMOMZl~Hfly6q-5 zbNBf`LcIHEe(W^aB}=)(WNjdj#b3@;p?`PM%eRN-KaNnnNaKOMu@S+0 zWZrB3hI7moiSTe+y=ngAacGT@k3~F%O~)0@xN!pyP^-oKdIbd(Xpj}-4Jl0lC_dtm zZ1mzEVtRvwf*}xr*d^ex<(B0E`hg#uh28sVZN$?1BirVvqS7@N_1_m?^c&4f074Wz zSN(m%@0;&iCFxn>AwboOcD7SHOQ6jA6l-LjT!UeaY|hTyU{ho--qCdX-gGUr~gOiWS0C*Ko5k31oN7xVnem&?>?A_oxWK-K5SQ4M0IwYAbxXZ}WY1MCI zt2aYKz0`c+s)w*2jm2i!jIzomjgQWJP&fc=YoZOZcwrbqN=pB8Ka zBD{Zp!M{!M`pbnnlNhAAP&a8#d0PZtZj!zOjEU1NdQ1fB37os1uCL>gsGs;-Tr|{w ztnLVN^Eq=uvH_F%C!fTRHa7)KvfiqZyi#wjElj);;&LSx|OBtS3P92 z2gqH~q08x1)iuLpac{C3h*YKeM(NNWr~38-=R`T^%U-FwJkY#q)dQFx5)vebdUwvz zB+uGZ^HC3IxAsF}(`C614rog?s#%p$oh>jhfD_FwBYr}Xv*?%u)8p+alL>p&g3QTN zl45baXnIjhCl}Ij%XblPO~uoRCp(K!E=v zf%n^sh1I1^!D!b70Y%2!RmzH$m6ZwFj6!;oRZC5GN|R*$cwRpR?F}vU=sq`s8^XJE z+vA+JlEjtu@rV%BV24b9m*+OcO&NO7e&|i+zB-HX6H!j5{W#E%6vbB9KaM(&Qb^nppC$(?nI8M_yX0q~87e!tR( zFlWw9i*@u>YOW^qP3s%o$JEq~S^2|sjdM5nHy_<6>%tnqk|Wdu%1cw@ZAx`n0AwdH z{)NBS`{g=|px^IF7rWmN_;vw#;ugz)SA3Q1IFod!y)C<^Z#OLYtYf4djqN=$xp*>z zUcvh^fN(n#=LmlaeAdCPt`v(zsJ)v>lzFGTJrj99X#z^`0?)}_xVNV8yI-Fjd#E4l zE-C6P=sO&U5YD*jkBASDUb>bsRD}}1b{w}?UeQ}FH8+o%BZbjyy!AaE4xuzJ8BJnzhxAki~rVN85O=@ zOx9mOVH6<~ot1fMNgsR01k`0Ex0CW1%&Q5lS$_r|=Fd1E-Cl)4UrqIsRh*eBY`y~B z#q$_}-}}dJ`)_ai^YbrwpS9B81I4;vfzguDQ_a*wcAvPy=lJ=BlUdy$m|ih&XNGjs zfFv(Nk(pkq>2zKd=LSW(ThU7tWD~;?vZGpwsA&ndv{&@h0t5tUSY5|h8FbnhZO7{C zu%TSq?bZv-oNeqXLjl0xW-RKJIOdl~b z-C3v<@w=NrHFtN3c9Bz);6;|x%=b(=?p>ID6bn0^%^FMRGn`1pvY4J8Pvs*aF&qSV zrYz}r9POaBCbCjCmoJzY6_^<1e6CY5Ib<%X5>cHmFu6qs`fCpX_nt6zb)AwCUCr(t z`+?;rQ9#wB^-8!-rZaPQg8i=3%!4jV)_3Dgz8hVH8}EmV4agT0T@xLX*Qw6))w?CO z_p01G5m}55-#b~SEGV}OU{yI;TeK%&;Bo4_@^ax7SbLS_Nh@Oumyz`5`|ie5PVZS= z33KKB7_IX&9G~_5fM6yGAy4H7BMPuhM3&(VjoW@5?eG7nsDnIm%C>p+M3(wEcebd# zGFEAy7#B_mV6@5$RJd_-8*}II?#ekDn{3AG%aRIyLn-45Vz9%?7#G+3zQpnC z8gtr?K4eEOJ&!1(aU%09z6k@xVJ|%5J*`h4}n=YC?Qd>o22` z$d6<#^05W+3d|}HiiX+hpG%T|x;?sptZg2eaQfpBPUz9+yQJwor&cyW$A#LZnDq^b zBHol7_aQR1(v~k8?82sD`4jHRJ9f8VGIy*M7p(KSZe2sddA+D6e5_?e&8EE#6^-v- z)U@noq$4m9F2rb>+x#wYj|uAmmo)c@e$E4c;x5tqO3`eE2KP=3V0r5z9eu?|wDe*r zq@JjqIBRUhNzh1Fzc5SSnP^Aomo;C*`O=7=SiuSx2K+eRYPnS_0e4r#qj2U`*0zd1 z@qkA)(+G?l0A8DR9T!(*-H5$t^V{E6W?v^elv~lQ)6v;nM#r7s_+u>c_n2Boz4cIP z3zFf)t)*E`c4X`YEqRZE5CA)FAZ?Bwqn}@wrj~&0?(d3~jPDP7%Fd&3Pu>o@T|)9{ z!JRYT;(Ry@C^6zLRS$h~J73{ni*QgyJg+ji=tV{o7`#e^y7E9&N|NZ5#6K{=;n_^~ zLB~Gqj}U$tlDtD*!9OBWUr>FZd*CmO$EYN9R>7X>QVT{dx#xOJZoYP=l>7QZi87Vz z$Y5w+Qy*v|un5y$6UT1Ny08A8ydULvRNP~b$C0`jJUYARV+T1jOE#{0NY~w`0Fn^O zXIYXLiL0wB=WiWdOq{eI;L&fxu#A<;4W`c(orD>6U}oX30vaEQ-kg^ZUJHS#)IL0@ zC_Tu-ZuNsm+uS>TOvX+nNr6z7K@oqjJFVeUb^5}(`Vi7+FE(8IliOo*Qyn^V1h`lV zqVf>Yd+#WAW^LOx&IU0fIP%N6PT@egBX~BY56j9i8kpCME9-9Vk0g}JE_75zzCj~E z9v$>dur$~Smocm6%-ct+EpsW+h4)WI3>vZ^uVS>$I4)Db|`#k znDCG8;c2_5h(Elt+ESg{)~I{irFX27qCY;J5O=mL>iV(-#`tK0shpTm>w31no$Z(l zAjcGnF{X^Si|@EbSM=(FO5`LWH1qNx5JFkk-%Ol4kyj0lyFYSa5N!21l5bd}jf2^K zp}LFHMt3P|>jhWIyr_K#WSLjLSj?c2j{Zc+j^Q7u!|&PO{t&2uXCAA(rM=CC;pOeA zwBJR|vI^d_A^nO0;~p8PJ={HK_N}YU=BA4Q>cTsLatQeD1)Q6@0OkT;>pq3N7_qwn#Rk3SpYm{lLdZ*52mG9?55RWawFq}up4(pJsOnzT`st=i^X-+n^`2f4DEM?taAm1(@mQL&ja)M{ z%l?ie**jB;9oumG^01kV7k&P6p>GSjeL)ONjz3ujn{F+*ab6PRic}rUeU@ZS@tR75 z9qQn{1TJOTGg3SxZau5o19X6viq_V2sa_mq(ToeGurjuRaGx%A)Im~X>*KJFm%2T0qvh~IMdj@8jqH7CaL?O$Jo4| zET|5oFQ_kJYMZkF7FQ(ZL3J7ysH@+C(V4w?#@9HAvdSi#N?svg0||y_zu-8lRErcf zSp<4LZi2jVK5o_xuy2%mK1F^|y#nsGaB`AW9ee~ddaS5rYK9f+`r1@qgW`PmpbOo7 zYoDOEOE*HeY1cCh(5OVblMgYWrgkZWE>Y*uLF9=`q)&Lx17=aJwC_nW9xT5c_wI0q zdKZ1v+`13(HhL%dJt#%-`aMDg5^mYVJqk?d9xkzIo(Z1m?H%~Aiu3XSyC$BD0o(^% zf_45J?<0sRKLy5R_xb-asQoYee~)nge>jNleC6*3&66fsWb6JF)dCS0krA#G)bsnV zyzn2PVZTGiLN?al%uF2Z|FN16z(oIR^`4`FzCHc_4fV~^M&H5sKcTSyrYr{= z8%tY#Yh%m*P}<+&01o;Nj)4FBRsJsTKcjH}<|=LNZA|Qq0sk-M5&R9(%u3(H7(g#* z=3u373-~|&NLw3QN88`6@!z<=TR=(iH-+jO8X8*~|7uSgdwN4hd;9-hT=^@`|0|{N z>wFNf-!H%HKhGDi(ziDIW(;tkvp4!S5kFz=&wv9!c zoc=l$d80EbUPV5?^f+sNw^EdOGpauAOdoeRytcSUiN%nLZ1k&X!x1%C8(mAm8rSM_ zBQ-%P-j%t3LDuJ1XY0?Lx=Dew?4K;B>T)SvQg3)<+lhM?IPAWD8my0kg2s;&G`suh zfz3I&1N}`^-r*!W#`S@aH+-F|B)b+yzfqwhxREf{_e&(S)M$W%KW?jxT@msO^-xVw{t@`$GL&4O_Bt?bf$CJ<2G(r z;K4iH6cB5ts@_T1^2=nN$#cv>{WXEISk>?9tA8+^1^<es?N{YWizo@u zipz-7|Fa%{rPwMGq^eZDgWzb{Y{BA)|At0d=Dn`WN4pk@% zJ(jU33YLWgQE*n;+K?R?*qRVLHsLe5xTuqFD737t+av~JESy1yk4@a(Bnlt242_1j z;WMdOGy{qF86Ol`U$Xpba0z6B(|K{xEYZnacr&9mP5*%*Q9&*H6r^)Z|6ES6;d!SV zCXRY))V!g)SieIq_~HRZ$tj-s+&%-%S1o2DGBwH^SgC!)cl--rJ^qj7?=?+d>T>L5 z)Hw34aNs2P3AIXf24k(3tGdSSaeg;Kx(onc@K+;z|M>eJ1_eU}`S&Z9|8b-L^W~5A z%YUH$XuQA9vi-d#`A<{&wfmP9%Kr-d>-3x7Nwz;N{nw=3Kd0pWEAFq^+250M{oc_P&3;ziMNg?|8*~5Qj`4jbDS;s$* z=h^?0ko?ak`V;l9EHE7Zo8?bo`S&cpCE`!}@;5Ah6`KFAJT8C3^H<^d_dLI4^-rt* z8=gOf=-;#amZCpx|8H3Sr!f6{rr*-^rx9}g?^^y}LiO*-{%2)t{|(t+h3mg~{^)1F zFX9jN`7K?4TH@dE{2L+r - + +