From 2cbf6fb98b895deb5d806965f99e2fc829ce20d8 Mon Sep 17 00:00:00 2001 From: Hans Dijkema Date: Thu, 12 Mar 2026 17:08:20 +0100 Subject: [PATCH] Asynchronous messages, file dialogs and call/cc stuff --- example1/example.rkt | 162 ++++++++++------- private/lib/linux/x86_64/librktwebview_qt.so | Bin 212296 -> 232600 bytes private/racket-webview-qt.rkt | 91 ++++++---- private/racket-webview.rkt | 82 +++++---- rktwebview_qt/main.cpp | 4 + rktwebview_qt/rktutils.cpp | 2 + rktwebview_qt/rktutils.h | 3 + rktwebview_qt/rktwebview.cpp | 12 +- rktwebview_qt/rktwebview.h | 16 +- rktwebview_qt/rktwebview_qt.cpp | 179 ++++++++++++------- rktwebview_qt/rktwebview_qt.h | 11 +- 11 files changed, 363 insertions(+), 199 deletions(-) diff --git a/example1/example.rkt b/example1/example.rkt index 5d11a26..83ade47 100644 --- a/example1/example.rkt +++ b/example1/example.rkt @@ -4,6 +4,8 @@ racket/runtime-path racket/gui simple-ini/class + racket/string + net/url ) (provide @@ -55,8 +57,7 @@ (define example-1-dialog% (class wv-dialog% (inherit-field settings) - (super-new [window-context 'example-1-dialog] - [file-not-found-handler (root-file-not-found-handler "example-1-dialog.html")] + (super-new [html-path "example-1-dialog.html"] ) (define/override (page-loaded oke) @@ -93,11 +94,12 @@ (define example-1-window% (class wv-window% - (inherit-field settings app-context) - (super-new [file-not-found-handler (root-file-not-found-handler "example-1.html")] - [window-context 'example-1-main] + (inherit-field settings wv-context) + (super-new [html-path "example-1.html"] ) - + + (define my-page 'first) + (define has-page #f) (define go-on-counter #f) (define c-counter 0) (define counter-inc 1) @@ -107,18 +109,25 @@ (define/override (can-close?) + (unless (eq? counter-thread #f) + (send this message 'warning "Cannot close window" + "Cannot close this window while the counter runs")) (eq? counter-thread #f)) (define start-stop-btn #f) (define/public (stop-counter) - (send start-stop-btn set-innerHTML! "Start Counter") + (when (and (eq? my-page 'first) + has-page) + (send start-stop-btn set-innerHTML! "Start Counter") + ) (set! go-on-counter #f) + (set! counter-thread #f) ) (define/public (reset-counter) (stop-counter) - (set! counter-thread #f) + (set! c-counter 0) ) (define/public (inc-counter) @@ -130,26 +139,30 @@ (send this update-counter)) (define/public (update-counter) - (send div-counter set-innerHTML! (format "Count = ~a" c-counter)) - (when (and (> c-counter 0) (<= c-counter 100)) - (send div-counter set-style! - '((background white)))) - (when (and (> c-counter 100) (<= c-counter 200)) - (send div-counter set-style! - '((background green) (color white)))) - (when (and (> c-counter 200) (<= c-counter 300)) - (send div-counter set-style! - '((background yellow) (color black) (font-size: 120%)))) - (when (and (> c-counter 300) (<= c-counter 400)) - (send div-counter set-style! - '((color white) (background orange) (font-size 110%)))) - (when (and (> c-counter 400)) - (send div-counter set-style! - '((color white) (background red) (font-size 120%) (font-weight bold)))) + (when (and (eq? my-page 'first) has-page) + (send div-counter set-innerHTML! (format "Count = ~a" c-counter)) + (when (and (> c-counter 0) (<= c-counter 100)) + (send div-counter set-style! + '((background white) (color blue)))) + (when (and (> c-counter 100) (<= c-counter 200)) + (send div-counter set-style! + '((background green) (color white)))) + (when (and (> c-counter 200) (<= c-counter 300)) + (send div-counter set-style! + '((background yellow) (color black) (font-size: 120%)))) + (when (and (> c-counter 300) (<= c-counter 400)) + (send div-counter set-style! + '((color white) (background orange) (font-size 110%)))) + (when (and (> c-counter 400)) + (send div-counter set-style! + '((color white) (background red) (font-size 120%) (font-weight bold)))) + ) ) (define/public (start-counter) - (send start-stop-btn set-innerHTML! "Stop Counter") + (when (and (eq? my-page 'first) has-page) + (displayln "start-counter innerhtml") + (send start-stop-btn set-innerHTML! "Stop Counter")) (set! counter-thread (thread (λ () @@ -165,16 +178,21 @@ (define/public (set-folder new-dir) (set! my-dir new-dir) (send settings set/global! 'folder new-dir) - (let ((el (send this element 'folder))) - (send el set-innerHTML! (format "Selected folder: ~a" my-dir)) + (when (and (eq? my-page 'first) has-page) + (let ((el (send this element 'folder))) + (displayln "set-folder innerhtml") + (send el set-innerHTML! (format "Selected folder: ~a" my-dir)) + ) ) ) - (define/override (choose-dir) - (let ((result (super choose-dir "Select a folder" my-dir))) - (displayln (format "choosen dir handle: ~a" result)) - (unless (eq? result 'canceled) - (send this set-folder result)) + (define/public (choose-dir*) + (let ((result (send this choose-dir "Select a folder" my-dir))) + (unless (eq? result 'showing) + (displayln (format "choosen dir handle: ~a" result)) + (unless (eq? result #f) + (send this set-folder result)) + ) ) ) @@ -186,43 +204,63 @@ ) ) ; (send this clone-settings 'example-1-dialog)])) - ;(define/override (handle-navigate url type kind) - ; (send this reset-counter) - ; (super handle-navigate url type kind)) + (define/override (navigation-request type url) + (displayln url) + + (when (eq? my-page 'first) + (send this reset-counter) + (displayln "counter reset") + ) + + (if (string-suffix? (url->string url) "example-1-second.html") + (set! my-page 'second) + (set! my-page 'first)) + + (super navigation-request type url) + + (displayln "Super called") + ) (define/override (page-loaded oke) - (ww-debug "HTML LOADED") + (ww-debug (format "HTML LOADED ~a" oke)) + (set! has-page oke) (super page-loaded oke) + (displayln "super called") + (unless (eq? oke #f) - (set! div-counter (send this element 'div-counter)) - (send this update-counter) - (send this set-folder my-dir) + (displayln "Hi") + (set! div-counter (send this element 'div-counter)) + (displayln "Hi1") + (send this update-counter) + (send this set-folder my-dir) - (ww-debug "CONNECTING BUTTONS") - (send this bind! 'dialog-button 'click (λ (el evt data) - (send this prefs))) + (ww-debug "CONNECTING BUTTONS") + (send this bind! 'dialog-button 'click (λ (el evt data) + (send this prefs))) - (set! start-stop-btn (send this element 'start-stop-button)) - (send this bind! 'start-stop-button 'click - (λ (el evt data) - (if (eq? counter-thread #f) - (begin - (send this start-counter) + (set! start-stop-btn (send this element 'start-stop-button)) + (send this bind! 'start-stop-button 'click + (λ (el evt data) + (if (eq? counter-thread #f) + (begin + (send this start-counter) + ) + (begin + (send this reset-counter) + ) ) - (begin - (send this reset-counter) - ) - ) + ) ) - ) - (send this bind! 'devtools 'click - (λ (el evt data) (send this devtools))) + (send this bind! 'devtools 'click + (λ (el evt data) (send this devtools))) - (send this bind! 'select-dir-button 'click - (λ (el evt data) - (send this choose-dir))) - + (send this bind! 'select-dir-button 'click + (λ (el evt data) + (send this choose-dir*))) + ) + (displayln "page-loaded done") + ) ;(ww-debug "SETTING MENU") #|(let* ((div-open (send this element 'div-open)) @@ -268,7 +306,6 @@ ) )|# - ) (begin (displayln "Yes this works!") @@ -278,9 +315,8 @@ (define (run-example) (let* ((ini (new ini% [file 'web-racket-example1])) + (context (new wv-context% [base-path cur-dir] [ini ini])) (window (new example-1-window% - [app-context 'example-1] - [ini ini] - [base-dir cur-dir])) + [wv-context context])) ) window)) diff --git a/private/lib/linux/x86_64/librktwebview_qt.so b/private/lib/linux/x86_64/librktwebview_qt.so index ebaf2ae39d474cc9fc15919e84b447004d8c8512..84f83bf6ac5318d2324d9489e91fa821e938f844 100755 GIT binary patch literal 232600 zcmeFa3wTpi);@m9wII-lFe2Up7A>fl^j;JvEfiBIkX}HRMUAbEEBSo>u8+(^_S4DtJRQkZb7b+K!Y!Ba^&=0w< z3r@W%27xh+p7^m<;Na^I^EzgPPg0G&l#dG09 z#8rI`rSZ8{FN^1bukA7$>NQ+Gj(Nm0QQi-}MoKyLin4gvzH$}f=iHg%!Qktn-Xx}| zSM|9Jcn)~>n#1PelRMzN03I^J6;%yXpoUTgyA@-&(j#118m1V!cMDf+27?mSU9lLI$ZpSr z&K_&bO6#b^IE!UjcsHe6A0^D9bZ=_TO;@&7r}R^-&^!+)jmtn`iU~gVOCQv8iD6XF zq$p#gafmW##`)1pQ${>JeNg0O{dyIK_cQFS?!MGLK3Az;+D$PUdbyWH_o%L3V(T`j zhsB`WWeHQFdJKU(-G=nAJZ9{5<{Q&{q$xcO;nhzV2c6l?nW7A7>K4`m>MVIeION}8 z2}@CWS-@1Por=;Fc`lT$Z3GMwY!91mwIoOn!-*EG0Jf^!O-8E|I7ISo$rm;s+}gfmBSx$Is( zd@hi<5UzIlc@|uY<>$F@Es>u~;p%|%W;n6SyWqs5QeNl5bpf0U;k*UTMQ|>L^L99w zz*z%lEu47V0oP^nbDg{{m)E=C+8{sQ1J`@uyia0$_Cff(3eMGV{sqp5;ruI{O>jOA z=M!-L4bF9NJ_#ot>*4wjIR6Rf(~?8}8TkAxoX<(_dAPm^=Sy&Ig7alKH^Yg?EAon; zUxm+ZIJdyL70zvN?tl}I7P#(~pAo+SpZ^8t9?886*Z1N40L~93_iwmIr9$x_W6`Tj)JSgvb;Od3*u*65;`Zb*Ga2}PM`aE9$1KbaA9)t5oIFG~m3!HeI zkXHq|LKvLg;Oqe>9zEe2eaRV%=U#et#*g2n3pr!Vi{_u&IeriOiRu6NVegy$ZA{qo0iPW1TVnmOGYikCh5bk5kn zkEnT8dGwjA^9NNw;@&c9^XALHx#usBUwd=Xte$IYuK)b}%FnHxv-*8`adi9lkr78{ z9Z&tK@0ZyLk0rfvM|;P}j**WXnJ{+uJICw=w_cW*`1QjraTU+DmMM=Y8@7*KKHzcJ zr7O07IXlgM%XY)kduqGqKX%Qf7i~K6)PGVI9h^5}{#!5CZ@6~iFX`XqjU2FXUFBzK zwHLd-OT1^sZ4*xXeCzpH{r2sdTfd{%o&7id?TN;>W`5{>=6-j0PV*pR|4&A3$$EUs zw)^L_K6v=wPdq(f*rU_dIqo`Z9^dq!xfdj z=se#9$Z{P^zQ$6r!-tm>O{R$q6^$gc(u%Njn%zHh|1Z!f*dbg-b{+^nOS ziMijcd1l!^Mz_y>NV(uIPuz5g^^Ai*l-_plD}7ehPPyoj@8g~*O;(oOzuMfq^paJd zt}WltbY=gnkDmPM*@hjthK>7wK6dW($n{S=)qBH)HQR1q8F}s2sL~%Fx_dy^&ch8 ztjbAT`0;HoZc3QAZhgb#wM)DYBo}YJ>z#kxa%0*4zVS;`lC!Iy8^IeX!27kz*BL)}cqf0QjAeASJw-gjQr@$4ts zzCEyF$o&(yKYw1`6FqxoJr$mL_mQ6Wp8fEFhwE28e_PR)9ltDJU!A{dPF~X78?sB2 z8f~sC|9#V$pLKuS{@oMa-7oYHo3p0xsy`pxJYoIl%w8+5n=<^1%x(9NIQXA!Nk5DY zpOg3Im*?5zX1_cChi&6uTQjcv3-fO&+q7?v`Jc;w8S(M0t3Fq14@`b=jq}nEYaZ;k zWz^6spBg@;_@d3Vd52#-_sgWgKPb+>KDA@uFVU6@az3wEe4TChLQCOav)UT&**$9L zXT1lP-TMBRWYdLD*KBToaL@b&3|#FHs5rnHa{Xln}@JPGoMSQX!92*X!9*P^)q3FwtT8iJs+8>Eq~S| zZT`MkZGMeOo4++hn=g&i=C|wQ=Z8Mp@(Xn8Av;xD{zIL1xmTyWhlgtGxyY=|pSVJs zKhR&BpOU1_&(x{U4|VGQmaDY&Jl#*5Upz{i@2_Leiw0}UPlI`nR=>MLryU%>ThG-xw z#;Kh;<3);2yF@{M(Q3!dI{on#9X)9}?Q*V;KYvuGT=zp}wDR+uPCZ|)Q*Sjo@~`Oh zuT47bTdUKKmcH8gT%;3^jp(l}9}mWr*Oa*XPmwGTUh(HW=8b^1l!<=Xle>6GgQow#D9 z&UoZV)NbDi8QSUEq0zO(&|f&)4y*qjbiFA9Q%5&baoXjz3&8MLYlHI&nyb zPTadzN4{03e&S)VSF0a^S!wp8S0S#@s^^6|cKEuEe5_8pOn`KU!x?_oD5{?E}FkFs?9f2U5r=%X{9uF)B%X6m%p4xRbMO*;N(sg56x)rq%Lb;=9f zQM272*YQ8yb=u_~9shaf725T0)R}*c)Jb=ePJg*sr{B%f8JBZ)+U0v4`#dL8JO68S z=D(A5@;_Ur{y)+2Z$InQ=gT_&_A4DfAEsk(Cv@!RW1VqiH*`8JKQLJ*pD*alBhJ$C zV~slVi_JRq{1Ny8t^9nc6IbNvw2Kw|p_ZO^BDMKGJ+=9tbjH)Ne%kV7I_rcfI_>*c z9XrX_iNoL0@k_-z^Rit!{bj0--+Mx*9XoaG&;tEP%WvPM6DOE-#^tR#&&ss9?CdU#7` z{CZC(pAYNU+tXkVTJ7SF(&lYCcGcIWEk6>JYw7=LiZ=g)j-UKcXPo^`r@W~;^P1;% z))mjwk+0HeFWdv5Rjva%<81il+VZ#Ql=sLaZTT%a^?A3BzfDZg*0WB>Z=a)MZ;y=E z)^p*d$oEqWDHzEqN(B82dk~^AuI{Ipz7zaeF#o}$u&>~4-w1r0xUH1KdcrVesPf#K zFfhR(#g(D3eua9BZ9)*=pX2egS)|*1lOQCmRFhxor!@8wdR#(W$%Xu*9yh*Nhoe9y zU?xA%Pie+Y8gN`A72PmQ=&v3Sn4c#=2Fq*wio_KNW9aw<`U~oB{#Gc!Js5cW1nq)+ z6K=ME1G)(vC&+K~Q`-M5c-S>V$8F@t1}N28f`INuM+C&xs7KwTv0CzTWIfn!5PI4r z|7^05x8Q~aIB-t}9=$TLo(Cz_avv59A9Q?7aTK)IMIv2T{-xvBoUpYQp=*g9vKOT_s zN5=}j`h~#!6p){XdXxGgjG<$mQOFych5UWe-Y%#5AE4OezBIMGUr0NlO*x?9uR@LT zHC)ex_G*{=?Gh#5LgUl`rBT|+8Im6rE6UYgEYelm_eV${>%Yw_1i_8au^!r;_*NmG zAudY6IKjIQ3E~3DFNXq>{DXo>?k@BcWXS$Bv2aZ>z z{D@&P|I+@|{uwU>4Me@p8+3%`*3nE|2Tcw_6xw*?I z`Bk!9&9YpTl7E!e0l+U^EcEYF+lB0Hkg{%*(68FnJyuaaP5lJ#ka{fAZx{{<0-BGG zmtxSKhbk>Wem)NTC;HXa%SF0p33bYR+3%cx7yK~Uk6w`FZ4WB%-C&QXr`aGBERyz_ zDDAfCexV2V>)~;HjHu5h+{^|?r!=^9SuW)ap=Tc51>Y(CMx$(42%qRklzyP?3L&rd zQ-|yqxl-OJ<#$OtcS~OFk85Fk#Bp$AQ2lIE+pC+;QKs0c1!-;s zrJu-8V~OBrOZ%A$#Ya0a9TbYkOZ_I9AKK6fT)ucramxPQG+NXf?g_=?=p`auTeTq6 zev0;s`rQYFT#C3T%VoV)zb)i*q@H?<&|{Gs5!L*kDec@TH~OjlYbf+fY_GP%La}UK zB|A-)SH>->|ICx)LbbFvl}~^MB7b#6=($to=RR59TZMY8@jy{s#qxMI$ zAf|}h$`0t5ST4iuf?rNgDayN$VQiObvk*L2>UmYhV~tk|VvN-DfE-7fq@P#o?S$-) z>IO`;U6N!y7+({5)b@1_6Zxrj3tk<+o&!IC@t94PA7nea<%V9h9vV}Hy!%%nc$JiY2OK8)z0E;>Z@O%k+(aR0lK$KYaSP_t zChb#pYh~9k!CNG+w%2fJ&rZpMS<>;)#Uej8+_($JOqrkB6v3Om6vPFRkCFbcsX!3w zzTV+5AfBlVQ2r7WxBmeC9PP06TT-ulAuh@opz`*V{!`uf zeU`L`HfU(9XGQwMB2hf$Mrao-ue)6kQ=$Fv*Z|KV-+Z=6cdRs&y)f<|-)I;4ze9*C z&&&SO^pxP$ba%^i8xIM=SyFzYn*T7NAF7d#pJcjC9)VT=dEjD^|0dip4#yx_KOfS3 zaFDWWqadI-bS#m6ul))k58a%OY49(#ue2X=7wjTQ=x?hROs>4~y0qu!D~0~oWxDr4 zf5iH1k^_P|F1#)MjQb{`;62&#lHp4AEX$?Z)iNn>xlzc=X^ApJ)|*Mz+f6e6A4xlG z4YKEZE|vPn2|W=~{(6AaUSA0!OY)ydztK8Y$gA;uWTdQzPX#ZB4JE6O;M;M+1xL8J zD3{6ctLTNm`VW)s*nXbiuLq3B0yr^0ri+CBTV;J79wvB$tB)eujZ#LO6UoWR|f%)_Rzjq=uzXG zW@%ULa-uA|nbMgeS$e z!MD~5Lam2ur9Y=H;DGLdQhy0_eAHvyC*;-n^#o}@CfU)|dCDgcw_rXE=|cV*neO>k z!5if`o-g(H9wYQSmkYr{Dc@g?BZeYDd?NW5WIt*R>PLH|{@nhe;xCi>zljt2bC(JQ zt0h0cB6w4a;MF*M62vE%|KNCgrK~s89YS8MH?QQ|CBIziUkvdE>5=iOI?oz4T%_A} zo6uvF^5>}Ym%j+UpSUP3(tlRV{wv*z(o>eVxsNEXTAv3b-ze*0rPQA#>)FyE6i*Y6 zDc^;Q{Imx7jYhC5oaee_JOg5MIH2EQT-PN1xtgDKGF^jAH%-b%OFw3m6S4%E?x(UH z+k)D$UHVT;P`O4(zD>>})bc7hIkQV0WjPhDymD7gj*^p>Jvpb)UT&XVT;Z~pXHOni z;wZCc=jE5!#XapiIR#aDIkSq(@=A&qg5b<4=9tX6uKD)-dByhmIXAn^F%>R{Gj*Q5 z%vIvR4;nJjCTF>$z+O=?v4R9MD(#ha_=uvDg7uk7?XJA3`E%?AE>*&uA@KM-SDrbc za6wsKX>q~iAhBRQ@lbGAfS5+k%;uY2IhbHUUWF^wHmN|VaFrL7I#D!1rWz`vQ44-O zB_*j-%;pS#_F~870at9ZQF%4Ap5%$7Ywh{dp|UevW}Pze)DrUwT*dS9T=rC(nv`u) zR*srHQ)Y7J&9-J%4d!wPBUSWU7bX*^ z#Ox|Bo;}-MKG`wPu9|zGL|mY`OG`HgWhO@I$+TBM*V5LMRF*fdcsAIvqb$>YGjtjk zG*)JGfRKWr|mKBs`&1MJd%PTIEHLNM2tL0?Pr=$8LkNItEyh&DT zkZF#OCcdzQ`eb%dnK?dZ3VX~q=SRvXh0G&E>+n(9}|^rkJ_q#U~59gLa$hq}B_5JifTB0^DM1 z6?j{pPITiTf_YA-y{s^`K*^T_Ws=VX%&}?^VYQby?d51A%n(@J1lbDOAlguLoT^}o zqr8-2jzZ)M?X$pBLy>%0%YukzTG@Q?>p9>+D@!RhVQFcabwDrrU$DHchLY1tt}BH) z(Lh&^jFV30Br=&0FkrKHCC2@gY`nC>w631e?J~m9v6+9nhLDb9PPjQ!hPbLxb)BnX zjQTKqVa5gZ1T4AdfKbjHTNYrJ6fuGym}f7qfUcF}%A1X<)WA!ph5S|;9p~#hX=;zS zwj4WHd0KudIbEz4a;PCukj{`DFlK7X;6N1+!$Y34gPlHANuZdo$%AM)rl_Tkv*TnS z)fS&Y!G1u6nCaex;u07tFzD12GP!U-q=!>&Q2#VOhUzjE6cv|%-=)MrY@82j(bTG3Vm{L{c z6~!=HOcgVQV0%o&DArmGEidMEszP&IX>nO`X=Q1a&i&XT zd-3cd7X%-Wma8bW7^~WsAB@>6tbr0i37DM_FuBCULnO}9c2ri_ZRIfc^c%`#SG@t<{p~NSfe2 z@5`w^7*G-uR65S4NLxVXRP9f+u`f9rH911AC#jU?WTXZBxv#Fd48}=f!X?C_Gt>!~ zR2FR5W>Z0lgIfeFoG|+d5swGY;Idb_Cfmy@)%r=u7#BnaX32%iFuvN1&Y)!(fdd6` zb`P<)tcU1~WIsm1kj%sumgmh*^;J4pbX>;x07~<*7<|lEeehH)J>_FGAELCyUO)0h!rozVp_XK~rZ+5uD> zo2J`faf&9d;-(q~$vLmDRsx2r;G5= zt0y@{!}u*=c7rW~0gP`gAdLDIiJsiK2Ilf)zLgiid>W4R)ZCx1 zi=T?y^9i4tyHmxxbaR1~lGK%#3lir&YErGfjCX`Lx8j955$KwTWogM<==*S>VCT zW{XJE$HSD7Bz=TBTZ+rD=2aA>72ATUI@KKK0*6}aEP*AnoMO19Wlk!dn3|e8B`Z3| z9G~sGiR&9BuGFd7IpdvEvrUvw)vRKL0bm`U+O*O(FL+)V(loI*R~AF;LG5PFfXSMD zd~sfhW41XC<_A+@@dqhdi-K1SB0kFmS0bteuIw?PqnEt-`RFBhFe+Xb3jEUwRs z)M7KHm6xb%6v0j|0cIdpS7`}M%+$0pC(#p_QTm`(c~DKq7r?43yn6CK7+{-fs{Y%! zu4%UA!JNJff*^<@s49Y-Zam}%vI|;$nFvak{N^}Er8*^2D+?w95OQQrVq>_zk-)ft z;%R6f#i^sm6d zys|8yO0~2_JHS{V2Fi9gN_1X=$Y5Nfmf~fYo;fKl1E-FdfN#Kpk+)(pPAlPtSb7b* zmsh2IFSfV>L*{vE%n@qk(I&9+)GByM3avk$0xk!1MQu~pvvJiz<8$n#PS*l5AeA%6 z7C1_s5UAx8sf(m>uy~PIUWIE;6kx@TgDGg1y$rq6JaDW_!3T?1p}t;XB650O zNu_;UG_6NLJ*i3g8Sv@;hl{I18rQES(>^ON3+{s-#wSQKH7>)xj>b61QLt^1g7Gkg zEQP5R-4DnHwWv8JKq}tlz*NBp=9o?R36=#)^IQQHm^iE4Q98{vD-l){{R_grwdxR; zl?7AF-|4b=IirKh>Fd^F*v3++R9typF-{dZXO30h(8{nk@GiuEj`@=V%~w?i@7nQZ zpxyg!n((GrHWw-ShN6=-jjuVmk*K79bw2?nwy@IaN`-a1N%P%a z5QcGl7K|FdYtSp3UrL4;=(C`3Hgjl7u(*iA{>T~RLdIYXbqRTeh2%!r3m+J|gV#%^ zO!8}vmT!Ni_)0!u9!zD+=elwV;ayCQ3*Hv#kM*%99qWT!y*Xw+z0Dp+b0_Kjf^uj! zmBIAON^iS`F$4)D7CJ;sr5dLgz10_vaT)300Aaux7oFxWR!~M#&C#&3lv4}~Jb5lh zd1`jqlq^@0y$shfa*AiA&8R4c%^`(m@VPnCba4GJ4W!I*>Qgx`=p(L*wCo%R+k7Ox zBAtzH7eo_j;_6EV7ui!&#dXuv^n5b}PFYDg@IN)GMtoR&dU2tMw}Pq< zT9<}pvXnrp4{dw>Aw0mUu+8SnWg>LsG9ry;afj?hDV4DBZ7&Cl7Q+_|kQF6t>jL$6 z@ZY|dWe^^LggG{~tiVwS!y0p{{;1I$j|*nlc=SGTsu7H|SJrzXI7h5>8ZM0iPL z&VfpwSA|ijZmox^_#M%?eqF>wL!6UbSV-Y~UP*R2toGXrS)E|`C#^a(OJp*^WmO%Z zI+!NrRX8E=cg@1aS%{BJ($9}MM$WgS-}4WRzHK?ALBn$;R1}mKJ6&qP#CE4-(G6d- zhukq^jGR`6Tc===kmf}+kj4gaRNRoK@nMSU{dv_Egki|;%5qee7ud&PbbL~Ie0gxK zqr9XrtuS>C>g?L+LUMK*Ru`({_n2LXwsDS<5>dBNYWT3l=kc5>LL>UJ_bxk7S(1>#*{UkxU*~{`I|b%v zno$A;F`%F3-Rh%3c|hg3!x3hKBmuiNV2cwOgj^CZ$G99AuB-DMb$bCHp?njiQhRBE za{)dcluja~lSz|Kos1-a0KK3nF4n3m%%^@%EZ?MGA`Fr0%4PSw>S|dsIV@R zLyPc1nI&CW5Ra?U8U-?A&$59MFsH7>s9bVFa8fxrH|R=^tid-`=t?pcGAQn6!QLdh z=+;3cO~9~ze93HTeCWaOKdw9Dd`qkvCE`a~MWJ;qQ*uFp-3bi^1BW`YX2pr{fj>r_ zQD=3DDw7MF%`n2SbaMQOhRWjT#WF!NO@{FS-wIP)1uR&)V1$D;EOmhr-+&}$A)jI| zg58&na$32>b-S1xv)r2q&% zGX1?57uqn#2^q4s^Qd~&MG=+O*@>cVGJxF?V($YkGeHV4x3kT|#*E3a@xdBGq!Ncq zLKrGucpL|$Vu>{WnwUn!0%mLdc%FqDu;i8vQ_|pI zk;_x`3WkU=Yit^R2q{Jq%+6CPT`svo6bpW-tT3-!8s1g&wMJ2p6O*ysEF#7bSofq;*7&#qPpUdIu&ZeKamb9U=kP# zETQ0=gi|W(DO3D|q2+pd6T`ZI$(ia& z$maa_&Cz-Jkk4#K3IxVr$0w22+_ULlgbSW}1>0uGBBzEx=yIt~NNpf#(1m$ol{d)2 z`ORH(olryn|JAiZ`hHtJ>=-V~fknrHB4`{~#DusEb}d58E1aU{YNA>Pu!Q6Liii3x zx{K+xmUM_?_BDr=a=&BhDhsNQ@~L8rE*hKTaigt2mN>1=>H!*bdY$(7BLbfM?O(4r zmB&Liier#3+zq_REraD$UpE(QA`G6sh#R{s7&YyXjg#8}k<)ee=2*E31{Z{1;1hEwpKYMWl-u}!Lna{(h9%wqFSBTlhA)p6PAyNPua~63n1}k~ zV4@@#m^8qw9QQZKH`{SH;}8o?>W@3=wGT7jX!t5zUWvG00S(JUVHCx7`OO17ylpOm zWK+c(roeW{a^{tF9UiEQfcSJ-9{!tjb4p$zed$JckU)(m4>%~Yl5Ltq!Ah3hUT8MW zE^*{T(c!Z&S6D;wIUjS9f7{D6+^aLYj4T6Q)KyjCAgS{$APtY?Gb4D%L+d%<3TYb+ z*pxXZ=*vaHn`x*4SiTZf4HN}bb(xp0>M3+&OHB>!0YOb4*mznhc;j_#I9g8!W=$r7|usfe(yNse~E1ocaVhh~SD0 z)nksv?NbwA#|X-%W`e#_Q5_m?4_*<6xI5D+xx2t@1$TLky7iSW;kT4eLs3Wpp}j-_ zgI{Q}kU%S}42@Y~>5<}#Q{6)e3x_7y`Uh)iu!@h>PA#ud&l*XE)cdIoGa-@l$qE_r zK3U>qtb1>U0gCEEdOR@pdFcZXIugRfxp9-{mbuB2qvZBOpcfz!RmzP{0C*UO? z?qKB<>|ZJ_3}A34cL0I=`2q;1cv%?0mC84Rfuwv57(k-B9P$0-0DeC0Cd1zeas{Oi z73{({83E!2^o}J53_pOL1-&*0t1y(UfVU?BEVi7ZGRKA6j00}WD!1Ed&zypv;D-)i zT3)Wq65DP9B;_}*133A5Bq!fNU)=I<&;z#<5_XgSVq2?de*-K^YJ|wXt-tt;Uu)d_ zdGJC-bn~FN0}|9!BwP)65dYV5P!vK?T3HBq#b}amYjArTEoZ7yw97}_gtw^ll??eF zE{GI{D!)L9Z#~6*`W6MfxZ_EPuQ_!2%QEooci)fA(2G8D1zkQ8FJ4DV=h&ra4D@9w zM;q$>U$lT39c*35p6`&~5P_L&5)fh&8}8DU-!6bDZgd=Mu5iNdT9x7ViQ%;qyDckG zEE~kb&uPH?7sA*6G^9+$6&3KMJ$wU4YvksvO8QwXBB-D& zPzlLRf@nIxu(%{30%yF9N%n7Y3|X=W+91b*^r0yxMDTsIT1&6ppc zY-=yUhm_8Ys^Ar5x$k9lh{$RFfK!MbZX0ARP?ud9pJvfx^jc%iNt+{}&M`1hy;0Xb ziU(8G|%ul(4lc2P0>GF`w|6XNplhn%E~lHZP?wYOODb#f|?_@V&O z@GT1(hg3cEO$zvS1voZg+Cr5tKBk!q)HCKp2n1_X<4E5lJbv|&=4kO93Z4ioyQ5ml z0_?n~fSpjY%+U~fL8Rq^y#}!VOZ);{cHl2mm=oaFD)6U=0)L(Y*1hSyk1u#-+r(iC z=*!Cg;T__z8Cd64uH0Gt}ES8-n#gvlb{0vvTZ}WigvlXK&9HZld@8OQgpc^oj!Tz8U&Z=L$g#H>pgg7EITU@n)z4HegF$}1(#mx(_QNOG`pZ6hpNSl=@j^Q2>jK#(9Kvd<(hHha$+Di8Lpgo<(l-glyN!H zqs_6tkI|#!#OE0^KrVK)If+AM+>9B?DQP+8(J`c9wArLwQRFDKUja2;aYcsfig=(# zM_+;YiI2Sk@`67)+D+*WXAgNrBydl#p>oYj3*WUFl6+cX$q^)&KBW#CV3& z73Br)2G0oDKBTKB@ZwG%pO)SrgXswEco*~4SL#qxMJbVjnpdF-^Ma|0lu(B#m-vJ% zKG(yiJ&d%YjL4%}Ce(_OYI>+gEdz3A_%!qZnJ~z)sGVNK_l7*E8c<_zpZ+k?f@z7` z?ydBpC;a;HIguB<3MtGTa@~}kK3yWmSX2GrRO?mbzdtZS9u6D9fZAYS=OKvGDSXHgZL+8{p=0mO&-x+o*-T=|6XY?YP(;ME%YbKzdNJyP1gzD8pOXY`F3fK zs=SH~vOQJaAoZJq`1ZphpVdM9r!z#lO+mcjh>&j&;yqH{BHKqz*Cge0gZS^Ie031t zCV#iRHHZ(B<=q>^E8mFxv<2}7$$Nr$qvYFzc$4IfLB9`gk-RmCzf0z4RS@4O|Nepc z_W|+O=?BW+zQ>%ly(a1voN54Xk#>TjM^R87R>p&C_Z@D=PxZ0zLH@2jipoD-MR&s) zAI0<-7%%@cBFPV7{98=k$oPefk7B%+@g~OaBhBKUM8-=Kp&M=;zD@oP7A8M} z>2J~DJxmXmw=(&qOi!y0-_G=Kc^i|Lf0~B0&0xHP>2K5Fm6wE_V0pQGE|ZsCg|vBe z_;99&%NH^EpFjh~6L_e9*9Oz&y!v+rgL(DumIm`qrvEa$DUT|~N2?@Umoa`Tlee&X z=6oZQU&iEDG5!|DH!)uRX(>v59pm@1{4_H@mFd~Ycq5bF%lMv*?_l}od^?kuE|{J& zu=e772b2Gp=^w)6Ij_9vx1VuLKAiD)Gd_yx;k<##_hj{8V)C3H!sJ_+{zN9vc_Wjr zVe%Fx&-o}OU(4jJOrG;5Cf}FI+n7A(6Pf%!nEVVT&v^@zFJbbzOrG;rCND!^da8)Y zbKb_};ZLmj4kwf6{0t_4olja(s+c_IbD8|NOum}QbH0elhckOv#^gEgWb%(Q{f$hX z^HofK8Ixbdy69$#=A{{BXXR z$^XkI4f7Eu&-sl^ele4GGrlitmlnovVDhbupT+pSj32`Ev@w1OllL(GDaMD(_!d=g zzMaWG&*TkEp7R|{eg~5u!sI!xFn?=j@BS{=JOSo$=2yzJu{& zSUwfjE{%-0G5!svr-<<{F?lEBqZ!}K_$L{^k?~DTze%nSpy*gQ)p*{b!_Q#6iRsT} z{7$C7i1Bloyp!?rPvp^4RgB-t^ekh%h3RQz{8wE5RT0PHd>K#mXk`4KR1&VM7=Hod zn;2ih(p|^+if@Nq`Mm#KaA;dGyYx1w=f?5bf52NW&Bk>R#Emc9{zN(?`UIu zF4ON}{9}x7XFR+P@EskDSN}F4-DK+$@Tci~M>yltd@R@(8 zzn1YP#y`mPCo+C6leaLwobgu1cQQRT#^1{1XE6RY#^*9Vh3P3`{9R1m$@qI2U&Z+M zn4W6JKgQ&jG5&9iZ)E&B#;;<${1cRPw~6ucPlFP_j`1%rJVe<71MGJX}4k7E2VCU0W=aKwJ? z^39CDg7F&}Z(_Wg@wYPlEsQra`Buh1%jEYmK9TWlj4x-rhw(8?e>>yhPdodL4#vm( zSopBjZ~v7{e>mf3Fy6p;_>;`OV+iBnPj34TBjb~NtfE9Q9{yyq?=Ug`N*}8ziH!d< z<1LK0Fy6}eXITDij6cNq8I1pc@wtpoW_%IjM=;*W_+*x!D#oWUzMAn*Fg?o{pUUJL z89#yXs~EqM>1krTmC3JT{1r^Tnem$#zmf5GGv3YkiA;YB<0mn`mGS9}-^=(ZjBjK7 zRFj9T$}&iEq68yH{A_#upco#{6+ zeh!n5Vtgs%O^h#Nd?MqwGyN9E-^}E#jDMWT+ZbQLfF}{-VPR7q; zd==xbWcsTa{|)1pF@8SN)5!RRj9!SwHCJm0_3#`rs#yod3vOn*D$>zI58<7YB?WryGXmoxcr#y2qD!1#L@ zKZNm(j5jiV1>>U_e;?ybj9~gYhGoyt318|3=1# zGyXHi8yMfh_#upcnx$)G{GXY86yu*^@+QVNGd_{=$Cw@q2mQ%lH?Wd=cX}GTzDfml$8g_`fs#)r{Z7kq;f%L4JqE__X7WQA|2pH1jNixfL^1w*#+w*_591RV|0dIKVfzNv|1RUJ82=vQs~P`33d_)nRhR>ptE_`Qt(obhdp|B~?@#vfpO zJL3;BzJu}ivV1Bne*5<_`EbT>X7UEcA7b)D7=Mt-8ySBgGx zw=n)cjJGoW2gchN?_l|v!FVgAK8Q;qI4UFH*_}+|fV|;gE zs#FROzJu|*7_Z3hDf9-duP{EG@n5{2InLF@7-P*D?N2jBjTA*^J-F_>GKrGyWXLw=jMv<69YjF5~wy z{!+%bG5$Qpdl-K{<5?H~@5levz<+DtzcujR8u&j{1K&qnaNJsRB-~ox^Pz9U6l<;9 z)vdGDTC+V|%x*j5UI)5!#GCMM#Dy04gqT*~y=|RvjM$18J-)Y<@Fv6<8F}4=Hz3BX zGu~#x>k;=r+(dW{;+}{b39m-n3vo5!6^Jn$@;V7GM~quyyt#yzAnt?MMtC9OzKAV^ z%Ms&N8Lx@(9K^Uq#%m;;kGMZ#1L2v72Ow4mXCjV3+ETt z;}#aLn{YJZvk*5E9))-i;wHkw5f4V(NO&mXKOwFrJP`5Oh@FJ{A|8S`mvA@4xD~}~ zBYYf|?TdyYwh%sw_*}#$!iNy!))KFg@P5SSBQ_A;hxh`-3gJD7FGSq_E0+It#74wz zgtsCdhPajRCd9)Ly9sYVd=cVi!s`)7B5oqQ2Jr~Qjf7Vtz8G;e;T4E4LF^>F9B~xl zT*6Bbk3?)Eyb$py#1_Kkh;hq?*F<;@V%)0XH4@H8d^utR;hBg>BUT7!BEAA~`!Ce~ zh)syw2&W)6BW@);25~fEH{oc+F^HQ9k3t-axQXy^#Bqol2@gdakGPufK*R}%orL=$ zPDGqbxEo^J%HXvTKK?b}F^DaMk0QPjv5D{@#8)9U65fw^EMf!UeTc6{tPtLV_|J&j zf2Q_FY(d;ccq`&$#I1xkAx=T;CcFXhIK<6_*CQT}xQXx@#JHuv+emmd;t7bW39mqW z4PqzZ<%q3_a|tg&oQBv&cp>76h%JQ65#uX=uZi#+#Q3V;Yb2bHcrs!G;hBi1AXW%x zBA$x4{W!HhVjJQ%!YPO|5VsN@gE$khn{YJZEX2)(M?GV5@eIVdgu5ZW4zZ2!ad>@DG!wCf@KMCqBQ_B}g!l%;M#B3M--y^icpu`M z5G#cDAkIPD{u8x7;#|aSgtsEjL)=Pu6XJZtZo(T77a(pXydH5O;wHjt5Ze(q5?+mX z7UF8cD-h2{>?FJ#F%Cf9T*6Bb7bCV2UWj-OVhiDN#B&jw2+u)Wg4jqnA8{#S1L2v7 z%MdGsGZ8xww|7wcBX%NgBb?RzIxB_uA;ZcZPh?@uxM_h@xk?>H& z^AJ}P9*B58VkhCgh^r9i67Gh00b(2B5gQ2a zLwp-zh43E4ixIc~NbQff8gU!pt%z?&+)8*8;w6aPgf}3rLEKDuJ>sQ^n+UH#T#LAo z@M^?&Ag(670`Z-QorISoUWPcA@Djvzh;4)yB3_QzLbx1pJz^8#If(B`Uw!lMwcMBGGpIO6*e zHxeF-_yNS#ga;yi5V4bRU&N~r=MwIQ_#wnL!pC77SSh#y1TN_Z3EHHh7WHz0l-aWmodh@U{* zM0gG2wTK%DuSWbg#MOjXApSdIC*kFY*CEa&yae%+h;4)yB3_T!Lbx39Q;1E3=OF$E zVk6;v#Q#KWAUqTC(})$qnTVf3-2NYGf5gp*+X$y1{vX7xgvTJ>fY?nq8u7D;n+cCX z{2byY!ov|ikGPTWP{c1Ft|mMX@r#I^g!>}ih&Y#UH^eU?wh=z=1-uEdh44|tFC#V) zK7@EPVk6=Gh+jc$AiNLptB4iCdl0{dxcz%-f5dLYZG^WX-h#N5@Fv7t5xWU*K)elc zGvW1!wQ>S zHW8kK_)Ww{!ug2*h1fuNCgQgcD}*xW`Lu?^@ z6!AxhO@t32{ur^5@P5RfAT|)*hxk*(3gJD7KSSL99koB=HpFd&w<7)=aVz0Xi1#CQ z6W)OM3&hQY*CYNCaTDP+h`&PINO(2k1Bj~$uRwedv6Jv}#2&=CgqI-pBDN7;i1-j< z3*mCahY_0y&p~_yv5{~-;;#`K2+u_P4Pu3GCgN`qx3^RKBW_3BMmPoWcZgdFk3oDC zv72x-;_neR6CQ>5KZu(M4@dk1;zq(l5g$WbO?V*U9}znV_eI=+IG1oY#6Kan5k7tp z@NvWz!bcJRjMzl@5aM4D8wu}6{3~Ju;eCitAXW(PLEMSB{ab2(#7Y?8Ho{vGbv*iASZF}@n`HWMC&co5J#@3jyv0`G_w^ zY#=-n@o2;f;Y`F=AZ|ZG?T^@mxQ%cMV%+-TZ6!PgaWrB#;b_D$h?@zILL7^@iSTg5 zafllU4@Df0xSH@l#JF|D>m=M4aU$Ye!rc%jA+`}d{uSUch%JPVBE~JAUK8O%h_6Cy zB)lK-Si}ax>tS2Stj5j}`{XtABY|hi>q2>5O;>Bf*z3RnSsQwypR^`*xCX;g;>Bz0o0*07z{cTTtlfr3{caa0iA z*)}WU!tws+alNv7>yoTx<9 z<{j?rgshE%1h+w^#Qo&ySvG6!G1q8o-Oo@7#dE`yw7O%~x*x4|J3TqDfB=OUWUc!w z9Y|PIy*~LS@4sPL$^4PEZm%S^&6?#;ZyG2}t9z^N2hitv4Fa%QcU4l&uf1L8)P7xQ zs_6)uA62&l^nuzTp3h)_KKv&n&q}KwVBG~Zp(uxYd#-_nyE;#e`vfF+BdQP759_@q zYuy`l?0TT!qe)fLj&}QcwwNmEsEb#=NI)n`aYvwYt5BF9Mwxg4KY^@R~7H%ffu1mIuGOA8Yx{&K6%itM(2i z;);Y$W3M^hV}5R3D+s?d8-xpbEU|{QcD7mTZw~jqh<3lnb%wP*Ot#%N{8*nx?P*jw z?=v9hUG0H?8sHN>`UHMx=zsnf)Xdu&S$lkbklJG?6iBx{!UEdkGnl}Kw#Q4*kGpOU z=o>$z)t&Gxh5!)T0%wod7FX7O9Z`!@VK?CUX4%PFP@6V&kLa3py6Wt zY#01cRePnt*k*@5r#7o`|4bc2`nN3fBlBS*3(bGMcQh2;Z|nFz$6B+i-Fq$EXY$sX zZS5fL!TB>i_T!Q9M*Sb*2Pn)q zyo2eCg2MRg0R1;KwY4Fq9g_X@UA0(K+tqUQw$@)$g=HFoWdcWgTNNu%KTw<2aGTXr z0qLaG>`cT~nk~|l{@vRGMO6DwV0vZ0IlYHL7p2#orHAc-UodyYKG{XYD@_b{aEuf9eo54f)(>Gg4Q_Jk?P^%vBBew0q^+|9hlTJMSkV?1cB`?u$uFOlB$>L^rl1gfU~{Nta5 zDezPp_`{#!BM#WtT6b-Qp}rGGM>alIFM`n9+K?Gm`GYknJJL{@UY^`4u8Sc3U z##?Zkk%!F?#;gWKp0Nj@Z$c^Ko)Bs)pS0F2f&tMLVQq-3Lay$hrwG>3lIt#zWrq&?ZFE6kkTscp|UE%&~u_4 z-XEViKJwD*+`q7qI5g)q8cEbGBbuKiD4OovA44`fs)HvCpmF%zq+RxhHf+0~fyXQV=%lh-T ze2j)sIRGAA4<9|H^eD9FbAZrH;-$P=-XQxJQh7ew$4ImfgU10AX0VUGhtEMP7^1k& z1S`lyO_;m~*XykH7$(7>vh)TpKC*%=_(1l>%;0$(6vyBVGy?I6>l}1I5FLXqCb}H^ z5A=o=V2bEJYmOML=+H35ry)c2=YI^*I9UIcP^?cVFh2%8K~zIyNO{QK$BFVh3IQA0 zdkoaia(L7;8BB%jeWg%T`64T65ptC7JP4*wlI?eKRKpP1c>T7M7ji9i_0K&2{EAx} z#P!pXuT7qwJS{mp%X<3}D-A^7gMVwO=@=Yw=kc=?h{mBV`kRX&YXv>T&}{DX)I!N9 z2nFBLyB@~#Zi}GD-V$y;X5M4o?U@b(zqS4rgZY@}N-XjCNGHTeQP9*8OV@%@Ye9=O zX5tWQ-CHnsFGcm(gY!s@cwu+)md|^POX|@#V(DAmAd8*5thaaKJ(mG>UX3~{TfGMc!oAyf zHo^_e=Ex7NTRMBBMLg4CO?ulJG5)Bz(=WZoyAh<*pv?=!Ng=$8TLa} zEsY$Ht$?!yf88?qpQ+|64Az>RP!EeDou1t|GV98};g`2q8#YI-gN%C~z)`opw{{8- z`Jc$eC!!!fo_`$xe+7BN7^E;-4ih~JJN)MvIQze z!4FojASJ?(WsERfZ;BXsL!=R93=wBeGDVy@&WL&ps0V0O4>qRFbEK`a6GNac;kt92 z1%m#i)Bxo2BEX=@<@LfoR4m)(eBiY}wxf zT-=#3B=j#UWUj&U3&c#`Ye6G8iCh@;x;FmNWV+-h&iV|De+QU9WnR~uf1#j;oB!)D zn!?-;oXhTrr5$HLSqgSoW0JwSY_)DV1WshDbt7{wt)g(iqpN{v>8Ox8YOPO(8i2w# zIKjDmAZ~zj8MMcWr44(%<^VdE9)C)%?f~a4!2($m}en(AB{)9aUG9f3b_CvRy3 ze{vbDjX1EmI(J%cKY{nipY(`EHQ-MsV2*F!D*VX@){)>5PxOGC{b)_v3I60A^D#_R zNU!k@0coh&UQp()YxX@17=;IZ>625c*){Y8uURLwrLSi3jm95Qv#zSpT4nL2X8qoS zKG|Qt*x%Lq#r}S3mAjVp^<#Vgh`z2s!(dct$W*AbMP1I zm19@#3{zZj)>`NZ4?}MsU+?Ib3bXsA)5w|htc2V3mVOwg-AK&j8OcdIB5I2P)QjvK z+Y;vL3xiO4K~;~muw9euFZ3>lyI|c>5Ug}<-N!Iy6W0CFK55-JOzGFdc6x$aH^zHD z>vs44W2`%3>2yd*!@|}0Skt}-z}%nNH^w8XeS3Rh&QH3$0&OzEH|b151TxV4XF@jjQ5uesK%f7a%T$K9E-M z_8$-+4#ku-14Q41EGWLXCh01O59=bZJ+$M)o#EIXry3uw0%^}GD82U#$P3v1WjOf` ztTrB4{|XH!n`QrpP{lm3PREr0kidGs&xUzmP4nHL`V#TjARgQ>`!D$c*D3 z1Ug-Ni1(--$xXiWf%FhvM;2@73GN}B5Rdyj#3S9YcK?XTA{J5#^$@;zS0lbSh7q2B z{0s082XHQP%Kia=bs6gSZ=av6eq9u5QvF`{{wdXO3O&K=*8r*b>i25Q=O0qPur&G` z>-T6s{rbHFhn-Wd-x(kc^*aHh{4S@3gTVG=NB`;FQ>x$nP@Ax<%_fG;5K{Z<_y2PI zb{Jz|zy1FH_$~hJKO%m!K*M1CmIzldSHmF^W1bY~!ZcA!LazY}PEIyUI|uxc*9bSj z5XOGmrMn*hb|S6d`*(ue{f*RN{)lyy?|mJHyL<6oS<~My?ThWHJwE=8`pc>M`zq02 z{)CZom+{J%RFUM5cDJ5Fyz-osm+{K|@Jv_nO08cU?HVD*2R>mO`Bbl{CYqCd4muf_i4fh+Z=+qdJ2pm*J!}Fq&dZY0V_hJ?3pNnb4Q7_RIU1(k8(pK2z{wday7i z()|M##%>8UiBnkL#IJw-e)|YoAKSY7kFb$9|0Qf>J6zTEF^cQZ?cQ=+z7i;h54b*t zcbMmW6uPZG!;^!YhSNTE<>82%B2E-?znb_1gi< z*gvJ!b);?a7}Lxh=@HLtNw3?5Qt9Sh>N0kELvm-@unutpR+_Hrv~D>FD@`9J*R(B$ z9z7^Ax%xOvuoECDUpv2~E;XtC_t9!7BuMW`hGi;H zrBL&XCV+W<9HvY7O651_c~N+{=WkHpw7Q+7)RTsqU|raW>!}8GST91V;@;&gkbVUY z`oZa6^gGfQsnzZC+y;Kwd;gCzHEY94S{ugVZHJ)Zw2QY3@N?c{z>3LyQ_u?{}S^nNUh^ zv%kBol|;du8bUZ+v`wxO>=t(ZlJk630E>V{KGV0ZhfEJKMby3oiwl_CK&S!g^-JN!(i4)L3?$&CqYXl6GI+v>7uw-%Y|UHU zytnz^Jguad2tC!%)5{tS9@zV7ofqF^se?fBM$D{d&n_(T=1AOHY^{GTG7+z}ot3cv zXzb``@Xh+*7a^Q9?@rzbcNEW2Xg3TR4&&q=^fn^-D}4Bn-6R(BIyryD-wEE9YfIL zVi`T}ko%20I8Nln<}rmNU8a}x`{0UBlJp9!FDhdqCA~QkH|1mMR1=S5GeNbqLA4-> zH^si9pI{KO)~}58;2o&wc9PgkL%Qb(X!Ra|Dn0cvyAL=Vd~4|jJrRbbku7+IccZW$ z3Ez^Ayh{WN5Na542MoN}yNkkxz*;r1T73~K3QPetVGdjIDox>{f08NuV*)dUgOCF> zh5zY>W!+4s>N!faGPoo~n!>B#ZWT{IS!*`Y#J7^sVN?;^;jsMQ7!_344ms(7{o zE8YT+M9Tpyffx#2AgjrvdXwjFR1fnQY!PeS%1Hd$VxaLIc^!+2DgrWKVzu!knJ~Uw zo{B98O%9oVPBd33+DXIUdy>^c_Q1?ta!Q%|4hz<0=BA!JbE1D?<~E?Pnz=U2Mk{4^ z@Q?6fj12WvSSC_D%b_?Yuet1#W^M!aovv%nv0Y}#Gng{BIWk;!k!6^ZYH}9-euFnf z7x@6YHFS|7C=Lc_q{pO>*$rB~pMj~t)*8In-l+4K8PS-a^#R zvkQa{_w=;k=#O>*50EGJ7PMmqrNJhP>RJas%POiX95Z>nS_WaTZz6Gb8w<%2Jdcoj9Nek)9aws)r`(YZLs;hd1!33a zd6Lu(e(GwqUdYDB!Gk9+PydsaXRh=BU39=GUwPg_;Q$*yB1(9cFLPw$e}gAZo;fF$ zz01me3wuG=HeSC)X31lw%mvx_!{i{eZ2Ty?6+IjO3bc}`s^baTxEsofrTX99L9<@= zq&0BGVTF7rILGsF_utu87#5IW{;|$21ZnsS5JZMLn%G;Ki-OSGu%CNkHVQzV;9~M6 zat0fqqAf73^JQ9YpuuBDEFA)CO0-fOL5oXb6lIw^0*=7@J-n{>415{mM0ls#bI9M- zm+Q5U(*p6>Uch+1+l1v1FWQ$rh&ROBdilQHw`n-&#k;kB@Ge-Cr7xM_9Ah~YEWQ4Q zNJH9d>b9A*h6(T`k)^bY!1qD{ztWplusv|A4Qzz_&xfReZwhiaEY_M@v zfDX2?Ce{44e7_j*{_C2gNZ4O<3A$IE_Xnd-_2tak!`&efD4vma5>faV{66Z`idO~u zhoBaY2ds#|{vokB@ocd<5x;?))-cbA#q@7Zg!SAN)o@2$&xQR%@VTW!k;Hb~)Wnddq*;a9z={xg|8MDLzxbUfs_e^Y8!Ozkzyy{8=% zr`2tTz3SGwZ_?`yd9HY=v-33z-g=*I?MSYlH>7iCa@{-#8h54F?f0AyJ}$lPU^>bl z^*Er%q}P4xIS6G3^Tw!~GML`*4*_KTpzZ>4cfWc4D7_A5@343WQ-VdfiU2DChdlGi zHJyeon50AQJui}rJLq`^y6RGQr8dRpg_Jc&J9(HW8BA3lK=fNZs!Zw+CO?;g{wMs!s7eKILr?lM%H3|!eH12bf6$I zY>ZnZD;|eF&(!}B6+`xtf>8{ppk9JQ*R5bpG<3Pptm;E{qnbfg@DhFPjUelNcR#)} znP5C-=~GQB>Jdw`eibF^2X-nJ5a{Q}4qtKjdf46Worp6txF*W$7+AB0O9z+_4D-G4MLNYx zza$YR>A^BP_{+v9)>B^b4XPKv!;NG+f;0*Kjex#=58aM#!?#Nm@6Gs63H}3L4n!KW zNnPa)XcO-oSyHm;mynqOjCVNxGYS8hfd8BY|G=aFkG*e!kE%NU&yqw|MR!rbsEDgZ zO~gl{pot(P5a3?e#aK{LQL$L1;sar$R8fK(G`H8a{93izho!Chv)YHX78Ml|hy>q= z6dzQAsBqQ=jF0kCvj6Y*oO2(Wgn-ueXaAq_(d_QM=Q(F)&di*dIWcP^Im5Ikuu6z? zc;v4rek|V~sowMDIr?RiFZbrlJoS>mBzTB49x(aDhcqLf^Z_%7ccRyy&`x(X^i+mO zhly{}pG*e9-%Ogp&lY^92lCrX>WSJGh+|E7AaU#&zOg~VKBQg_>`(p1tI`Drc#wo5 zp*5O(1i+LyeGTY4wMexf5iLC_U6?*99pPa97td2Nv4hMO@fm+^#-DUI9b43;5_78V zv0A(>8J||tz68Ge5!9pDwP@NmxzDf?EZBg@*%ZqszJf36f|@SlM-$}{EY*P?e~p6a z{4^r15fbA%iThTS_~mQ(I+m9t0`5AMWAFlKruxd68~_mO?7w6(bM27@nFecQffKJ@ znn|4xl6K>(eDNlUjb$=e@dmhVZ$U&F7(#7XCcaPUiu7oDA*P2L_ATM3fkZi_D;)nw zL|Mf9nbtBKtaU#tnb%;#$=VDwR9Y`o^1vz6IIMP1AQOMf$h?3vDTKCd;j#xyU%LF1~xU|tgl^oMCeb5P5%TjDUgsqfur{;zR-z1i*Lz8 zd<$LBCuT4m#J2e3@1pjdwE!68N9})}7l@B*Cp+dLmIc1&D^o|XfeyZkZlp~6s1{xC z7pV=9@d#Fs$r?&kBS}*LPK4)yMPK1OkY{V}JPI1Tn=Lxv_0TN1kh;3kzScdCB8jFl zpF4m{hjLXqul6Xb0XzQ!_KtWbhC9g^FT}iKkH# zhq(<=6c_HZfP`R}k~Sw9P~_%u5h1wun#uAORjh{9olI4n6zB#U8^zP3ujWuK~#$ zG>7B<5~E-EJ_IVT1nspsQG*wuH+cd~c@1$g6VU_;DRwMvo;Y_5{vI9M@xqC$4O``1 zidp{;R}wfP*}M)qg9wQtng}0bJv|JzRW0tv#^kgv{s$P~){l`(BFyr#!iljtAH1IzI>QMji|?&fJTIuV*}GvRAIISt9Dtq>?j> zwTT0esi2ZR4YDltTQIEk;uy&fI|ScCrqED32)L$7LkEz1@d_zFz9~nQaILp@G$uS1PyC>D$#Mf6ahQZ1U*TJwps0f7cS70Xe&tL~Ol0kga4 zuEm)iKs1&BgqD{DqKJ4_LaqxC4U~X^_W~8)HN-xMfAa}gMt?6A{kWSamP80foM?eZ z>=3tWxZ|86iW9Cq_4kmvZ>4>NGbe*IH;j}P27`zni_^x!pxL+qH0Sx-L#x>aI6-9w zy){dELx8tOZmXSz6|YOoB+54Pn}Zj_*vsIk{j3BHJ35>l&5#|2+`; zJAiydq|6q)_{1mooGlA>sd%0w2df$5C;tm8!&}DeCh|>p7h~{lYB`>ye#;Ian_)dJ z$3mwz@F8X66tmH#^HXo=0t!V!bxZLZlMT&zjxQJo@6p#2+*KdM^VBc-hqA1c`y_US z>VAgbvMLjAwyXLBR87xJ-+=PzS^RS&|J2}5YMyRJGg;9WQ{v`&?(g_1l@tO=9E&E1 zK-J>+4-%S6QV!K6@RG}eN4~+jF(1G%&%92lKnAU5|^7A?6RMLYy78lDvdfZ6MqRFeUrCJ|X zfmckIV~iIXz%bf)eu5@B@iO9&=2h@LbOgr!RJhP&Q0%}MC~nfSV{I1wvf5cEMt9xL zMzC(x&f{#yBLB4qY?-Te7`SwhZ=TLVpaFwF(GT*Vkdy3sboZdbq5`hu9T<*u4Z^V# zga&aHo08%Jwve+P0NAqq4QoM6IW>F3BK2J`jdUyFR4u11N`VT*5l%W^4tA^9snJ71 z$s}r2kv|wNf2aW2=C|Vy%TNjYAp-ueR_(`S3nLh;+K(3iU@|a%hD&1?ElD2+EaSwl zLfv#v&Sc#=AgVk^nUkZsmZRZ1i|4h}cr(Vy3A+4A%8#bC6=!z}KvRh7q*~Y)+e8fY z&<*%z=?W<~rTYC=0T5W$3UF}@MQGH~XC%H+Ae}5zR)P2>5sS;PK!hD6Hh=?C2v8#| zu{&N^fJVrcOVAD%aThwt>*U(3Eq;oQ)o7nX6I@PfJwfm*$@W_y>|rr){SEgotY3v% zzuy4M)2(bEBF;qvZcjtGOlOj(7I5!7!jOjrjqCGeJ{-)mh^4WGV2$+p1bypsD0xPr zX|e>*MPz@3$x48UoG+?|B=Wcv3R?{Erha*{ez^f1DA^x14%H7=;Nj(S75$E5HUn}Z zh^Gp!gu}w##OQs1(F!X;bP+{#^Cgi%;*^kGCsyhC`bAA2@!r5qRs!ZsjEuN?h!y~x z{U4?eBxdvWfAq6MEa$r8{0l+fV8d8AP!xnFt}w+7ikiQabmZv7u2XoOBYjBYlu#7{ozns?&pKI0Tq?Y_oWWbx8?b??##oJdVXcCz$hN4GKLc(Y; zaiW|!0daZ@Qi%X3AWpB(CwDDi$t--R_Tj@mY;krISBnHI{k%0&Ec!LZgGorHVTckn z6Cv21dKeMUuuP%*^Y{3vkiMHPy#S@PqS%FKRYyP*NyLj3CNOG651Kw_Z>*Qtw93V% z3aOfkXR-5f#swMyb|L>^{UQIMk51R0y9QTLk$JHs>v-XKP3EQsw9)xa@)1!+;=p5A zTt6~ZlQm&UoQ86`Zs^x;Lsy_7g-l6|MI%!Mk?CrdageF{{!9k=Qwzu_{JEBr!zL0J z2}vwRe^{ojB-;HzKP>u>Uva2a*rBjnRuY*8NsWxO)t6{h&3yp+I}0yE;cWhI`0$DA zUHe%eG=E8;0eHoA)2s$Muwph>pn-HhjWZSEEpEA3@wu3`!W0S4OIa#^_oyS+2Q@0h zk90#L(U6YU>jHnITg6Op!#%~HxtQ4=;7^L&(zon;V>B*oJ4zyt5KH8Qr(!+*_!Fj7 z=WD3JzepV$y3}pxI5ed2hy2TrKPR$`gFoS4w8Nj1(V-82xE{N~pI1^WOEv^N^+%w9Ts z_#P| z-ti`jP~`X}*(p$9GJwo2>^TkR@tyOci=`g0K^%*fMH@82kg18Knx#3-T;Fvw2kT~9 ze(vB=K2TrdQ8oF{hup9oJX&@i$xYeMz>m0-D1Ov}Zqu6foRf=Rr41-Y z)h8!(S3@$d!Wt$mV=yz!gj5gPR}BZOCQv4}-3ugxR2l>~s_7oJ&pcvI0E{Rje)Kay zyCFJhEp_Pcq5~RHq##JEXaKN_T2l~k&|%+!WlT$}J+RmWz7&8xjit<|%B3{0B80hD zB;qTw6h%k|f5d>;np~byWTV45@X2JO$I0DUiPN4u%UUx~E1Mq1`}paV>|W}vL_eQQ zP5$YOd@TDKL#@s~@{>_DU6wvov)xv#6Y_DWox56GDp#aM9D-F=gaasUWEqESh?u*a z^9tY?*Q;6-=!TYK9$oNTcu&KB6Nt2@{5FE&?*YI4fm}jwo4rpj!Y=mfGl*J}-{xSh zettWz9pkR9Y<0znnOeHUZ#^V{cG#-WpW_q5};i_oEu-$t+yyWzJNp$JiC zIC|vb@6mo;fWq1M<=?OOL6eH#f)IDXa_9dP1NAoSO}vaY`s!xz3J)y5oP?O{6RKZWLh6;?Z1Y|2tEnsA+`UzHGGOX z=aZ+&em96VtcYoS0QOM@<*_8Ik#(ZF>qb5yx`1S!mW^nJy%Es#2C_r+=(>$R=r(H5 zhQgqqOV*80C$MgE+M8sF7NsLze3w!mJpKWFaiU_j(#gU&?%W)Y;qP z2Lf+%#KYvq+4ymeBxMgj2yYiA9Yv|$vgZwA4dCtJM>wmIb)ux}MqcOMjd|WD8`1dj zGI)+3KQ{jyOwLPJ_;IOQ;7MKJS{Cr|W1fCI z9*-UTSipmYr+ea0s_}nt9TtCE^1 zL&VTDmnWRfN1Wt=n*mccS1q0Z|%0Re*~;05GXiDE}!!UOMj% zgl=7By<%D`X}O=Y$~g6Gcz_~RCzFc4X)JKuJ>Y(^!?d=WaK{#hCSy*_e*R zN?$VUvmv_wAQDY}ClfpJov8IXeJ!HN9xs@PWi|ubE0Gg%WN3c>eJX3)aNOMtR|O+E z8VCCybvK`JqO@c7?`knBoab+;L{!|c^7w$9_-He;*qptCFXCY~(UVQoypc+v4RdxQ zHJF(7qFKDdY}~=%>^IEv712=DYr{)dc*P$`jYIJ$j(k~OYAfRa2O2=K1ZLR2J8XPqBcGK3T2!1@uXn z12ZrOD#aA`8?BFK*+*G_hj`pq9|w(EAFb$+@)}1N)pS-z%Kx>JuWc5$OG4^G;(Lh5 zh9*n0)rk_H3YE}Bq&d^mviwI!6Hx>`f=xdJGQ>Cg3F%fSu8=~Pa#Nt!k8>QX=UY3o zn*!IT@;Dgyy%a5V0xO)e{~9;xU@6rhz^{D8rfQJX71naK!52!%;sFXcQ@cTp&)uOW zIyHNues`^(feo-`2__(J2GBw8Cn$wq{1HFlpl}2RAwjz%YHb%5D`3!Pqit2rz{Cad zWHUKha=?xr{_^MR@<(QsZ)N#~s{HF&<%@OsPi!=1=butT2w*Yc9uh>Q9L4!^vBu4G zR>$1;yZ(40yn+2~Jn|iF3_>SA^?FoGIsxqRm5Gc9I0}6c`4P=$gY#}wu9yHL0%=43A zrYotAmn`Hlo;n$uho|hS3lzT@MM`NlC2RHR`aZE})DLm8%$zr5Hf*FM0|Uvh@?cJ>U^EEbRegr?eN%ZmPvMm)2Z^(b?=5u#1Rh%7R$wS(sV+NLMSV zb_+;(5(O@10l5*%dOy`a~UlCC0SnKY?vJI%!o5YD&y{ zLn$C{n68=v4FLMbY6FT%v~)GxvfnYS78A;hS=thVni8|mkHnJGpr*9Nz^tIAj867> z!DxIxFB(`~iM-`dKMMO+)_w^!rHEZ6&nhyhrnq^_U49$2A0>29;e*P?52&vkBlVS~ zrjxuJ4#52SvN;@A#N z>u;v@aunNG1@MOgRG%ocmH;ItN(En0YeCu`rM0Xj{z53>3CtF;n9`0lLGGD-&=)K$ zaPfs}Rt&eZImh*LNk1Ls^J9Vej(qMr8>849A!1y93y0d}@x-aX0c=q*Df(|vj$^M8 zFXWM%a?@oKICZNld<+1LTI;EA^>wM6>j3($#`x$1Y%Q;${;hk}Qg_$~;xYSDH_Jr3>8B$pNJtn6&}H8K2%nfGJlPG2mtbSnYtF`k|}@ zH*uGv`|M06u`@RwPwea#n!~$)0r^%a3ut+vG|8TWE*;2E1QoiFpUNNT6%H6r6!Oi& z9Ds-Cqo3lF(~-p~;=YErkZH-cIM!$C9Bshli* z>iK424(f@Z?w(J$J9sfkvJ3~I6o^XzXH55z49Wqr^6>c!JaeWS;b5H3O615iWcg-c zPKAQ(y*Pp;WMy$ocMdX5S?~!YV4**o&_WThmpd9WYP8>(S~QdB?G?H<+)-8Z!!c1+$i5kRcK z`7#>d+lkrx>qH;kM`|Vb&eN^S$vul_4*0MZ-sHj(5*mDb<4*2;*^`RKmy>I3lYy8L zf;GKOd$9EnU$2kM!p6FpT&r~k`p4%CE+d8-$sTINSE&Y-q#npE%cln_m)*y?$zuWK zfC=9FPzt0GnlqQ9wx5-6QoJ-+mvol8?pmkh<+>!_q}~JYWl06UP@UlvBWh3wnV6!J zvu>>xU**h?bcz+oV#*gO^%Jk;TBjs0fR-a<1RqDpH|eW%gB7gKi7a=DHS1!0lOC>% zO>~O=&M7ue7vr0BUwP4|EGs!zsBX3@S2MGnO4J+sNBWBNcXhiBYz2h3Oa8hZ>@c0H zOV87#)%iZ>!YAny(g(5t*0=sfWoc*tN0oKDT9|LH)!up+{Z1;N`ut4nW}69%EDmO za}pUnAf9b7T7jyr^`@p529#wm>h)b#^9Ma zd(pf@M>H-S_fOUM8aiJT&~Gn8p%QU?3iCP{sVbG zmKTafi<5gkWZ1XYVkAyH+R*a;VYtl1N45`1>n=mmUPpB4p5_*P5W-Bu64zeh`9F6@ zf8sLmMQTm(%OMX`{?A+xSSt$@Du@!o5PWPG=O@&cxEAn#zQNH@o|Bm9oS*!PC7kn< zTWhp_QlZYneuG`qJ3kS*SSY2Rm}t%I*3(bq>4`kg)~6?g8?jatphC8O;y*vx2Mv4v z51wPRdyMk*^&I5}QL08Oc>S`*BSSo^Umm1izKoZy!jhq&1sr@554Ap`uIu&IH|sow zc1r7SI5L5TQi!|S=KL0H4S6sp7|H2H7y>D!P@GTE>nqFYVB!e&`~&G3hmyk;xijEs z0e3}t=_77-!~ja+Kni}(L(vlG59uSa@X3nCUz9NI)=I$tqo-<%aSNE6s=B%*u)uPX4jLh=~kRtfpC zr!M=W`p)KdiXsywy-v#LYzPa0k#+^TQ$htNfFVN3pt42ABu)R~L9Rn*)1w%qguQ8K zxFR$kVTV`^@xisSo0b1i-B4~4Ic_)lP(t4#CDoxr;OZ1g%6Up(XVkGj)wHX|GC_FA$5DHHS7V*+GBo92OFw`@OUp=evoT?WS z3wkYaawXyhi3oZUT?xP!liDOas!&BD9;pJ;6qCR{U^fB!0DD$lNAN0?>{NZ}#fAVb zY4SPN4kor|;z!VUikpci@agI})~rRu2sC{Dbs9crH<3Vn+YY&a?&ShjKBt|S@h6N) znm1&21xjqSXdqkC;1eIF&SaHb&0Z#oi`XyGM!ZiLVI))Jr?mV_+DNnG^+fm*Uo!(F zG+M-&s&x8TIn*x6sT->RBqXP}XUq2s&@FL}VS^YcnO=)%;po)H+h0F=8ISz?7acFE z!On1Pw2t-uHF%ni^)@Z!4`57pgBR<~=PECMY9|ut!ji#mA$Lt52l_(Ii7#xM6xS;ha`di z04+(aga;B~u0sWRh7^8qDlrZKwAP4=U9Jcs-t$0E$@@trVX<+lTIFyyUk&?kXFFFl z(NujQV}m%7F3P?lF`z~K4b95@U@|@nYaX#aLx>i4k|4M~?)(#rL6hL7Dx!73HEI}A zbnw`F&^L@}Y8VlD%Ha&9i}FMDP)1=W9{=Wec)4m~W0A%}Pz@}8i~fCBI8I?r7*#~}&_w~+w8)RZ z9M_16Q?R0x2jS3L1HbG6x1T4^p~cp#u+_pZdmA_W7p0_)1*BDwI?DISlR85y%uerp z*JBMAMetMHf!fVE+*&Zu9*zcKHCJX<0!NFq6?utkKXveLA_>p#B(;f5R*)X$OKpBQvf{2a$V8hK?FAP*;z|3Ox2@p$Nw+%_VC{yJpormD^RUUpY^0VrbR#!}VMq%xj9vk#F==A+FoRzg zh4Dw+PZVGxi0PA!(~uOe2(!0sPQ!5L6= zRqzO#I}6RZD)E8Tvh>ARxFEio>H63v+Ka`jQnxv5AD#;nQ1MgWk+;%hWAo-2RDKluAn z+VSC&PoGO{gbxCkP<|^RAkhX&PA4oWMpY?2($A7y{QMgH2rE>iIMOVz3(N-*=?HLv zQRB}00UqRAG8;earqn!mE?ibvkv_oXpHS}d%<@g~8(2q5#~$Z$yk5(sbUhBLO#rqd zsB&Ax^O~nuP`fbpct25s3C>jO4ZC}$I+Cu%4QgOg?b1<2C4ffw0p!s8*Mm=3!RO@5 zfH*j!0?OYMk^GTBx(`4C<`PD$2_Ez9vvTC?L7(ni@#q|vuE~eMbh{9Ch-=*++5YKmDHJjm*n_79sza4Mc?CiF;3Ioi>=L2JzvM3uZr2H zaf7dVZolR1H_Co{`T4o&^gqh$e>^%HBA-6<8=|@#O1*3ygJO=OM~MO4cCmo4T=bEk&^A@CA-`gDJ{sbtG#e9i#LHt8 z-8im#ec)%NEf}`mvOZ(OzI9%bzFw<$)Tu&sKL%}r>OylYe4#nP-{pD^66AU@fe1{M z@KMU4oU!s@XD$DXACprf@b6*gsP{+C9Q7m^X6uLd`5#`TAJ*xI=rkq2wutNSspC1M zfHr&MHVl|at}%Pu){vOY@fD9PfQgId7 zpc37>p)~LT19*$|lD+P73v$OBCK;zX$0E8df#Ac!kIKU8?hBT?5OR+6p;lf7%m~(i zVey}lc((8@ehJk*z@G{ukEf-toz{R?+ML?sV!ow0HTkS`TM!>{fpz(bCRdRch*hmz0Jh)@L$~+KYFyCcQQGy@?RZo4?5Y0t6KnS`me%|kaD6jNWRB) zz{-K3wBL0LnE;+t^T}f7ZxIz9xZwURN+mbx^-CDtvAzp|wK?KMz}SIRJCAc8xTcC4*5#sq z>%sN&i#Sr95Y1y~e)r^hNiqc2HM+2rLcGF$%jSiezUl!k0(D>5`z3^lgM27VvJi!p z1oMlMP|6Wsz+$Op(w12==!VVF=kPT{H3HIdq!jQlCSkzeAaGkni z2nByY))!}0vQ%=mYQz48x_aoJ_UB)ZIg=kMw(jGJuSkU5WnOQOB|N}_?RO+;)x@6B zEJZGN(xEw*LM}_u^+Rsaz8Cb%Na2)By^v;;P+cGVmRt9Md;z8{Q!4wDIZq`#9N{24 zHeg>)Emv>K)neoMgumu)UJXA5z76crH8g%4jLkH455S(jK+6TK5QOHUnG7bQPqXzt}$ynQ4rjI8JWom-1LA{Yc*1N z_{b+dd|bj>K;W0yAw?s%r4seJv<}vU*s{H1~p3luUEdd5(-57Ts7k+3R^< zVe-={lJMn@)h0IUEk7()q9)-8xr0pgL+1s52E}>_<#99%Q;0q9Tn?)fMb)E+yX0zU zIky8}fJmyv*O#@#*`NJ8c-i^RP{}4;*ht!P#^52c|DYp`3NGpg#cTjX+atT&-QSig z+#=q?kX&20|8#dV^9C$D)vO$5(wlpwOU(KSE5|C7$@c2W-$Rf5!^eek;DT_ zN;3=l1Fcf4hzrWzU`xI9U=qdwa0Bu%E_F5vEm7H&VGKsl2~L`}bo5_s?_UeMG&Rp9 zY8G7bGPxF#nZ!F~;v0x6iKYTzodRnYWuIYLfME%yDebj53-U$>t7QYs173W|F8qHn zIJrOf%vE?~4MW6DQv^p+3La+@9#LiNx4wwlv*ZzeVbq?kPVim(8K+u+A^Fem2YT5? zB^{-@qX3T(s>nViyuVWW%P`t5+y7sngl^v%GVeVXv&I2d`g-gN&S+rNzDfGA9EzDp zHx`b6Jc{}KS8npTuc!%(KnL=h1E0&-+9lGMJ#K6@QNtb?<|Ys&h?GV!2pYi$>4UTF z1tyj`R=y!#2>syLEdAhE5B0<6>Rskx&?RM;?M!$hTCjf|7rM&!`X=+(C%d-V)Dit<3Bt`43eH zAX$re)z4KtF5y>Y55v%8%OWsVr=meS`_~-cO^-1D{2UhRb^A(Zlu|su6P4SK(#{`0 z2=_siWR_YusHLl#;9PLpxcl+;-Tio{$bqogv%k~Dc&k{9hqm(21<`aDF$V$oAGLd* z5zr5cu-o*OvsKgmBq)x_21SZk3gBJ}cwrk6DU5@SbvOk!X++>D!QAb>=+Y>zULW8U5sjHfhc6Mg9~EG8@8GDNNIN*uIzui zvcDZW+Man_tFk|iug+vfH&-3kO4Lig>qAs|G*yn*7?JOBYAGIh_>1#n$Rv_4{7c67 z)LC7Q?>@Y4H@;*4t>Y``dVJf*bQs@lsG;CjEv_7mi?*qNlR>j`0=+OSZ zn7?lUes#s)SGo9yGGlns{VO>eH2Pv9JI28vbMeL>Ls$aED-ny}A& z1kc5X633TxNHzeo_ajlDSEd0Mi9k*Yoz)6k$pQ$%xStn;aCFaojl_&#PCT#H$P18X z>_=8Jl{Kx!GH3@|3xrc-SbtkQZSZmPLd3AczW^QEhkrT@HtN-J6RDd&!&k~t=jkgG zS!5Q10rR6c|H7li6iY2nHkDOSM?vrW4)uEZBwLY5P(jNxV(FVPA(8Ulk%2K;~Vq4&b)1|2Jx-iN|21AK^(X&(|cv%Hl zq~mdsI@-k8oa1H$%J(%8-W6mMnfSh~neK2?XQLnTNw;Z1@sknUHM+ZPiFI5CX}&_R z^JKd;(Uyr{%9!T~@<4{G_#LbwR2l?ziY9=TYkC5>iHr$uP51ZP@tf361h*9C!sxBg zi8G|mB6_11a_D7GL5i~S^;WDB8xKi@(dOxC@<)rf=)ZUap9xR70i#v8$7{Zj#9djzhs)?bV)^l-znQQQgdzs({YTCWcX39Xo*n@CdcW%&Z9uZW($MO2XbHjL`dbh>}!_H(p z=g-b(0|^D-f(01H5nAuS@RoSczI?8OubsdgM>wB~XTjQ)m;;!HyM%cGE_ZoA!n`Up ze-MCv2l}Irdjw3F{!F!Cv*wg$>GB#OTuKO91s82jhW-NGP)-|P$_V31_`K#7;O~Sy z>GTRHBPgj75Y8*Y->SSW;Cu^cfIGnT_)Ht@JC+=jXWIK~SesT4{2JrJ+O(p1yz0?~ zH6Mgc)PX($C2);+Rx(A3eE@3M1***JOoXQZ$Nh}x9>MBn`76N3e7U?$2I8h+p9{aR z$vBn*E*UoRe9+rwv$zRBirLpd0^ejSxCg!u`_3yv^Ou<_)}q1qzHI-vL7AFo(v_x)f{0o;ujPS4@iGIq^BAu8 z9TE>MHU@%R;I_FPYLHX4HoX^q(R<6jK4`waDO$ccbnEMA9oL(3q23(|6v6D}Ofl)` z(S?QWX54p0PDmx zld;a`x+r~`f3E1J)2Wt=b`!lFh`>|KFDZLuMgXZsL`qkf#my$JFEyU7?bCc6|3j?v zYtg;mBZXmQOX#ChUrkk9?gJO8Y~hawBn74$c}l(S7C*c6pVvu$7 z@++8ZD~D&!UOE+{iVmcjS(oIK#4W8k@eO8kGhd`bx_qYDOk`T)=MlpP8)srlIq{ET z_T{b7DWYt2a?lCn9O56tpn}+WCs0{@naWplEU?k!`JZR9dk<)s{!=@7$h2>vmKCal zoh~CbgFI5OhLF7gNqn9RsW(VDjT^he*IQB~=pLKqWrZc_Q?lTX^@MvGrzpWv2GP%$ zjZI=M9z@I6A`F;95ttH|F%JP%a6XakB@YT179*eo%Z&V5)S=RL$<^n?;LR9;r<=(9B|>`-j4TK zW$4=B+y`QEcP%0^1Pd+?ecXUIvxXO-a1mR>XNla%F>C`D<{8SjQYbFIjTL2)vZ|a8_u3)!{kh$a6R_tj=8UBMkxaU-+W>_z^l_G8Qo&O9_62 zYweylX78*;)%ZRbb3d@&2BZ*F`3RV@nD!i_xK*-VH@*$5w-F0zgsRryPH9!m0U$>7 z>sEhuS@OKx`m?8kyz(mQpMDs98nYYMvg`6p4Pc`fA4KGRA>xWBhLAP28kR)Qs`_W- z{1q@#V|G$|u0>r*6X3sPkYzwSp}M!eM4<5M^g#~%45-kvzhF^ZJBWD|0m20uncgR* z0FO$eQ?`-x2TRi5fu2G7@Y-pJHgIa$lecEM`=FdXsV#i?6 z{BV5BCio@d6Vy`j8{IY3Ep?&!x69?dozts14ofR46FW=d#lz=psu`k|_62P3urF0U zt5$bYdQ?;aD@9R5t@MLV8M)Zc$;A#s3c+H3Stf2*Z{4N-TN%ZkPpW`R*1D=hs*?{UlcWp_$kzmvWUT6-_<|w}00!4?P>oKC#Y&>kv<&G+u zRA|<)Ab8d=gsKdaQt~3|eqtaAL_6wQNcP(pG@5HU2mZUfxpuDlf^8I)E7(Fs0soNy zRh03M!9U~qXEOiHFs#wIA5JRa=uFxIU^u>bNm_=NLoNln%2Cz=v$Etx}Xxp~O4jx>`7hS#8`|K?7Sr z13_`_aP}xq%#?JH_+r)#`>Jgjn|J!g(aD3hXpv!y6d7E4YpyDB+;iAGtOG;lzAC|pe z(gzQ_$Uu;GdwG6Km00Y90P4T7Oy=l!Pu>LVEug zLz&DeZDrz@ct^HgGRl5J)-$K9lzcs}5-%{+k}B)ds$!&5+CYjw(wy?LpRaG2+mWAt zZYI9`iu}B-=B-iov$B8MJiySK#QWt$skNh$JtQQIK+3Qxw^h}b(o_VQ1AdN-&a_g| zKq@qUMRdyIGJvl?WRTPA4?1Lw{eYT|9U3il!1IEmt#Q=-&I|Jk&TPz{&?y=uFYWz^smQm!u(xeyN=1uhoY znm)>tpUmcwt#}LhQ;M0f@~xq|AMtl$7NpOV+1wz)ZX9MCrS+j2qDsGqB0DZ}y+EUo;3i(W5?n(X?mzbFAj2Kdv*)}A4BV z9N$z}*KVG|l6O9YetDV*iqDtjz!6|Wk^;MX9%?kcmmdlTL*eQ$j1%K}@NbVEp`NfW zRfN$1Kb4({vH}?k6?8-|M55(lT4TBjUEMMSCo-~|SYRj7IqcyFG92Vb1MsG76Qvbc z&_pvNE|lOE$Yij%%z4^sPQf0H<1yH*EZ7iWw9Z9AN+b}S0F)6#n@UoatO}ib0u(}oHhJH+sH$lh5_QNFjT2IFBqXQ%c6l#fNe&3V`b?62H5R<)4AhRjMRo%0MNOT zX(hjx*cqr9gyhO{Akn}UqZqCOOwByR2)t>$jvx=L^2MxfQ6hWq?Vw^-Lf$JiHvPS}aH@zUMp;kA+_&v^U@Ch0P1 zl16+Nlv=|+$$(6F0B$mTnCrz@qAEPLid-|NIca~x9**n1m%+-fGIT8V0*Rq#EJxfa zOa;i?u?oLhd2OIf+O`$dfNAGogPe>&;+;|C=V{ywn^oZ!TtST7(km;W96@7_ACprd zlS@++;)*qX+}(8V=jM9H>^ll;@e=#os>;T7NZ8h+XMBX2dEV5T(SB&A{|RiR=8g36 zrn+bimKUQKLu<=}fu+?bZ-aGa9sF~>vj1B#KO?)oYcaqOs(TZC*s+|%_HNUQ_&k0f z?>$dF1Xh8^j|cc7WV|k5izy!-4Bg5^PWJE|$bsDG3qo}((LifvxK`P9Kc#vhMfH5>z^_3e5<3TXM(oJ$!XCRH8T4%c~+V6@8RGTQr6A?c_ zC6aRqe-?>C;B{y|#%5So6^83p#BoaC)+Jwf zP_E@c$dxW5n`m0^>L{2{-2l!e=|-X`|3CLMoYJ9xf1E8h0GE_4F$0gafo6fC(4mSgzI)naHcdSqZOt}H*OEL3+ds`^MM46+ym63S$1mZxU& zokK+%3~)ypEJJ^4LnIieXsx0mUHsQ68W5=bjVs~jRuD@4^)3Wav_S7-T=Q(8q@#KvfKjVnCceSk21yG$dw>3bxD8RO zs!+*Vhv1P~JcKgsKUc>uh3b%(F9$vhCrFw}iMvjgJ_08wnt8i3y$yE03T!P}d#hYX zu%=IzvV#~Ln)3>NnxW^KwJEhy#ul4zz!{95MjykT`WKb}AB>StZlHFAoe&?oHw=QduzM7wY19%wJ4vnFDS!ab)J4%HoGDf@BkHkeuJX7q zigBTbVWFYV%kv{;f6z+v8Q=hV@qVBdPi%mk?5rFTtmu_XdREZDl>d{&qE z9IN2UH;%w;;PAMeN)BF*oplWK`mZccN#N&v zc;>^@zqmbq#w;Lp<43^HU!Vl>lXfy0bO?JUlWGx1@4~8T9QB*_iJ#w)J>MvQqvp@1 zbr$4VX#%T|k|zwcT=x!oy3u%5VGy!{bJIoX3$!mp(tRa+_E-$rYk}6^gYgAU+Yt)H z1qLp=fWVG0#~uh#g%Nu8Vs?hmUA#p|$v9~6)$RDbeGiMo0`G_BH&~6R4CB&1mG$>n zcv@MX*VnXfV*y&Lb78E=3wl;uUuTnmRvKldx=fed38I&C*VfBZEwH^}Is>J)VsPCRC zxBc&PgOK}yX-mF^?O+SamFJy~ocx|SVn3K8`uAm(npNrkI0KoBL4y5iVajmx>0(3J zYLvf<4dK($)n27v&&BuKBq+|fjRuO)9Bxw(-nLaHGJxm=*fww|Q5HXZIGlD*UBuf8 zMHv`7RQgJ3X5^&+Ll@=b<9Wn+UX7NNF*ah${J z|47I>iPwekm^8Fsz?;MtqZMtjf z2FhpR;=fZoi&^WltatZ9mf@;ly8yo7Y>(Evy-2F*tJ)jxzTy2!@`GKP>PYgzuIzQM zklqUndxoTU$X5MfuUnrtCYg6S^1N_0pdUh_q09~JggL)Gy^pr*`m@~VWRLzp;}uob z3Sb$iBwSfvI->rdVy6IXq>|plo?xZu9aPxoWSAQjz2khy%*EN#6_K;hBJRQ=u|WR1 ztH1nm#$El195wamYlk8kBn68fLTc%!sAV5uw@WF*6{T#!ru>|bO7=HFC5lK^%WWOU zd86$oAkAr6wgS&ngDM3F0ey`TV(Gy^1Q@lPwsgM*b{7GWKY{AxLx}b&riUgc!07t$paMd zCmf&z6nko_X~{Y{xxbK5ex?@l>Tq&mErSdI7h` z`|Jx3V-xo53up9IE4KolSvs(5Unm0LU4{5jUHp9jEPMaf_Jwz_XSK60Y=vC>FSakl z58v(jW!o1f5y!rH`$DwH58E|;6l|}@=(1qzf^!1ikZ$e*SijBoh5nEc{%c==7WQBJ z!kzDz-T95$7v2JY>CC>+;5_$fPJa8sJoUbVeIbZF=-Xspc&mW4^9|S+eg$^o*Pi}O z_JuNR+W)mLd|T`bk6`0%Z(q2F&wNzkvoG9)S3IQb#J;c===5#1FFeqTIQNz93pXE< zO(FjCk3F?7nAnPUXJ0tRDYFavLcV(6!Mu7fh5y1LaKryk>r96EN>i>o1D5$EBtQT6>cxOMga?=2TEFIXjFD%2NxeD=U6yriCu;88A7jBeGEf>%6Uw9Hs z!CAR~k^jO$n8j}FL)rF)T;kX_Z(rDmwe(&+r~lV~;oITAFbde+-o9`epZTc7XJ0rBuXbTys0BKGTkQ)~`J|bzY+pEh z?`#V3%a?m?390>Mm-@+#9$;Uf=6&5`gqx*n-JRxvdW{JD+fK`RXSf*66t z`ri5;y(?>RIo`E&-}6ErTz|8u{bPD(z-jP>O89#q{9zy7pXOdyzaQ?O?{Ny7s9Bjl z-bsyMy>1rciZ^+A+A_2J6U4MES9jIxvJaOws7!W7F(Ny5hwtGLHpRgYEdc>mQ6b$KFfxdV^r^ z<CJNvP69INA-?e#=rv5(*XQj|@TZ<>BX`)z1peq9_r@LC zoiv2V{EzV<^$WcAT)_SJC0EPfA?CBna-s^&*_R&nR*yoAWGzEc<9!%~TB^L&CV-(~ zVw&N9kginzQ^WOR$$nJS=>bfqpqC55@;Cs}1FJ}FT zuPW>Rq#ZhC>^+=-L#9fx1MjIH(X9`IV-k$Y`k(R_90CtIb?DN(Q_RNTEiOzZdp1w~jjHnOOdJUIao7O+*?8cN( z-Qgu3W=Xi~*6bZC|2$O3%e?6?y%u*<8}>BB4!-L08^rU(2Qnv!3dVx}H;5f+hH`I= zR9X#{iM6vTYX_BO;%~yII$FLXepvdsEc{2*RD*g|^FXw`wdPkcL6~Ku@qB<=Jp$esSfzrfMu(B0q#k)gB8>I|_cW6Iw@Aj6 z9CXTX3#hnumSI0}N-g@sLJTUyH0=I^VW(iwC2GSj&a`Xf>^=I8mamWZLr^XJh#8FL z&Oh*`Zcua=-6&fbZj1`tD|Eh+W}-o$9{=tPIPRG{O&}@Zu)}jfVe*y9V?+r z=E)2vypw1cT0-b8B4f9kftL+?UxrZaV5Dnyr z_c_e~gl^+s6^!ajrOZjI@X}uZs(?L`AF7mG;w3x~OZk*}0ud04K+R5Tepi-h5m)ZS zy14w@7jOEeO0i*N#hW5`n0muH?Hz?+*QTX4DG?k&Vh%~+aYet&N{3HLBpLQ)jy$mwgt^BkB zV(fqAC$bIXn{!3m{}B1G&3n6i$22e*SGSLwBoIZh|NXZh*3TR z5#5ggX}KNtGLW+YG6l*ZX+`tx?#BSA`S18HCLRRj?u;8}z3DCc`B6JkjR5Z(s4$)$0 zmg{oG0iSYb@T!cq^0pco2H)b+qoB}npGizP@YgB%>IM2N#ek@Wj$458+$#7@cs z>_8=dT9#saIO z<*P$UTn?3ibi(r+EXxw3_>CC0&myyYar|fs1%1uN_i~}#V4}FFENZ<-N&mT4iK&Pf z!(JPz`$!HL(dXwOed6-at!e^L^pgjDYLqVy-Sz?sm|NGR7RZ8~%}h>w4YaJ7{T(@> zn6)Za{A#RtjU06o-f+}W03i7!ixt0U7O#jQacH9$5(_LhU*87ha885CRLue8z}SMS zqmq4EGm~itNpppo#r54GA^_Eq@9z>|w0rBoH=NHU*O6F* zfR&b5ui328B#BjYB-U%>cSmBicaTIb^XGH9kOgdDI+X*)1$$B}vlS|-HL9f6;gDKy zu0Y9KZcv1s*C;c&I{K7hmm1Az56fuv#}(K}$0ZZJ!n(kODUivg{XIR1^-m|E#*!z< zTL8jNedLOT?$9Ql0LdUZ3u;%P7WFB7GC2#9DEy0(vzScIQsw3}IL=AVlIyomkc=mP zP9k3tL{9W=HJc3^`B}IIN`SslzRb$cQjbR>fj@43mc6)6XlXEbj-Mf9W zjk3J-CL{jHYI@H(Kp~PpA(XT4+^&nITbzBT#_3P)JBV{;B4z0HY` z04}CCra$UO^YI8Kj4Evp+5LXhi~aov?nftn4H`{$y&t8) zV7|_NG)nD9!?+(YH|Q-lbh)35LpPo8C&&nk+T~fbJ)Z3BM+fb){{Q`cBuLP^+K*l$ z1JBMEwhfQOXZV9_c%&!?5p^ZG4Vc64!7RMlJNLcGd|}^;{b&L)>RY!T$@{A#Uv)!5 zB08-ENY#1&UIF5hwj_c4Gt|U-H)mz*V!oy9eSTUEIp6yVyQyRwKyi#e0?>Jv7UX2cH zdYY}Fo|SR}Jv$cVG~~|sKYHVPkZ1&Se-0z?(B1K8+x`A`H_3(jAIoBo%*7+tDKgyfb zwBAxPb0>8DUQ86&nQm5x$vOEz_JE#YtVkM17|^;63pQiqm1zS#Z!yZJ!l;o#OPvdt zAK;A^F#jw$^X>)A6c zT=K&?xHO0y%QmS0e3(ssTK{nl?YGs11mBa!t^=AB25xCZ8k zGc4qf!7&XJ#X$oe8Jdq=ah0{Ob=57GtHvW5ovI!!6e)Q*H2*bI=ZI4o>EphP^jk@w zxFKUHmJk`~FZ6Po#P>t{gHB-cxDRBAn=x)JPxVTiOETP)bnv%Z%KJcykTK{zoSC_m zLvv`SseCfSmMTMcEmaCL>@jEB$gbFJ`gha}ZbOC|W@ME4OH+fvRO~?I`~XVe#B=&7 z#_OB#%PhY(IQ`fZ)9cFS77?oP3uRtGWL(z?53goYk#MEDN~u2*cz2g4V34BXU0js< zTdnf$D=8IuXNK2pi9hHx-995C(|+rWh&%p{)$1%{0g|rnA{pWZItk(;Nc$?uzrDYK zREW40$gryUiG{>9A;?Y&<3vF`7fFicCQ|`qswm>D@u_b?IK{yABPwHJFdZyiLE{MQ zTm3GFHwW@GwojMH8C96pX))_^99W|x7|D)RNfVD?(!@ihS%J4lVGJ$e4l)6Je!i9r z49P~avS~BP;Uf~;_lnvxa1=N>g8WUH=+RddB4vCQ_L_l>I>TYrG4jd;7*H^IX5W@~ zx?IO3dh-5+j_9f`umQDbbUhfnp{^k`=dWnOhqC)4&raS6xJ6+>>gRmpWI0@G6k{m3 zzNXzB3fq9JAF6zZvRWc_8LCO_@$fB_czh?4B9FowH{W4U+>H?sEQjN>!~V=%{n*)5 zj`@Apvn1TjGjTX6w7_D7Q3zAF zytL2$bosv|U*UMDiS$XA9_V1%US`700I%zcejN~v2kXBBR9t@s&)&j2pABngyL@_% zbHr}*>KV<${dx7u+h3-$ICT3PyU4H?wcuqSGweOxMTWgofC!yLz|*_J@6Xfxjpo}k ztQhEvCQ5rx^6i2DA{}f|8rQBk`O_qYs{HuD_=`?k5pG6E7N+v+!8{JeH4azGz#N-j z3%ueMR>GS_O54rP416i`t6`%<->Kl8?1HJ>^GbBK^L1*=vG-Qjx159g z{FepLUllH^!6@+assOgqk9i%_;RLdMGo~BE^)1(SdV33!IcHzqQm+Yt{%7s)Z)ty@ z6x@Quz2NwJc7IEMTqgy3?1c5exy!r0<%d2N;=jM8rW8I`?@6DlQ|WUxLS_CJ*sYyp zdLN`O$i^RaKTql{%t@vHUm#2S4ib_6|0<^c-&rQ^$2-HqnUZsBFOzxnGD$H%h>;_djMTU`7a0d}3wXxM*UfuCV&!e|qet0!xcHzUzL`~1qwGNg zeHQ|)dI$U3N_jHFHCHDyjd-XO7w&=LQ~VU0_)O^}pJMx?$ngl&SdU-q(tin<&wTl} zDE}pO$wFvMD;$VC|0U*r&YiOf`smZ==zl=R*V0H;n(eKWKGt**7HPMeqsRgnc-1I} zZVBIGH?RJy*|0hpt$nO)G zZt;^7nLxZJlsAJH*A9d0Y$|^hX=_B-$UV2<;XoWXz7JMEfCYFnvsP;FX3!WoA{=6R z`G(M44aUGR1);kdgN>2bE9-;2%vkB`|Dpbycdy|5_uPLoA4rKK+W%Pp%{gyUWtaY& z`^cSVs~8FneEHmJu@A&e^ zzv($JOWZOB%)zl5Z)aLG1B5PiqH%69_JEgI!fNK7Q{&%Y=ePj4MHf!(1+v$}xd|^R z_5KAUL8}=vb4eKA3as+`6BRJR{!H2krQO1ixaRr7zyrq#qxR1=>E zBm~r=_L-L{D@UgyM5CkP+odwYnrMn*EEjwFqfFQt+qWEbmEh*Ro|F0%2(@t3l`0R3%v8X9(DP+?BZ@d`uRfZl3y zFXNS--1%OQ`=dv3ABlgV!*I;4SVmk@ry?X%>Sild~X$*~^*5dhwH2Jq9z91uz^* z-ahKSR$?By&4>q3oDlpwx(5Wa{jqV~q1XR!o@(F!Q(#Go!QIApM3MF4KwtmOEYL~+ zA474|+@(J{Y`ZHJIU+s z888mbKc}|q&sj~}e;~O_i`c)5{@$72etxZBKx%#q`A*GmwAWuwc7MNacHw!s?(crg zb64=ZvO|BhZhvFE{#GM_y`JA(zW3mHsRW{g=N1&=`kmB8e>?u#etu!MzcqZP<~POb zFVe0*>=c?PZ`1uP#5{L3zaMt!Zypvz!Sfogzb{^N=l2-jd-Ln*;b(8%-wyiR+2oxa5P9ruSP zB*w_aEY_W0iq3U@YbnpbYAg5nQm;=fQH_*+lHv7o`dlx5gXuUD)w#0ML50?4WubQE znZxlybDYQJ^jpM7=)OI_V}KX-{FiW^gnM%2C?3UaGTCgm5v&Sn2%`3hKjJ&0(`L~} zj^cYz^f!p*EP(s|I0{}gY&y4wxtI7YY|_KoAdc3pkd z1F}1b4~OWU&qmL4$Jz%ccI3vxFpk9cP3#EN^t~`OnWN-&Sdcpro_D?+bjyXQYWY0B z@y}{Z$pQ0B9AY(Gm^u$H^nEtfiz1Z!^RYGPWG+u*!_MLVxTdrqRFr??2pG0{Rs_$N z{u1>qly z1!QA({)MVCaRaw`ZjV{5mDbyiJfJS3Pb~sNlGysO$dk;rMGOLPJnW#q4a2D+`&0X{ z-W0z8f2K6e;MX#S|h@h)-@%jbusS9x)@j3Ir_0Z zvV;nhyZ-~uWxfmUG=1s-NaUZ_p^rGaEnOjI5uNS)BHbMW4P|#YObADl(+v!)bc@&< zgTj4Z;~{qNZV;TkiY;6qMo%VaRy3Lu_u_;9E^i(-gUc}tw?#~XYLorez< z4QI8;o1Yy0WFbucInv8tJO)UENBsIvtWgNxetqr>iak?4gV~i23s56R;l(EKAdMHv z6Lb1;4JYG#cp}PG$YL-x!rXPt;i%6@OWgR01Hot#Elcg~Z4>d;bi%nDD~A@JyVD(S(X{-VrLUDug0lg+mG)6ik#+ss^sTtrk~G9OYYB=MJHD4$kp2 z3#)zRxzo|3J$))GO%)dquE}02tDKHVyP^q2+>T1zjw)CO;R3vX5i3<9dg$I@6y=3P zh_P4q|9F`KlKsPp_huP(UAPtvBig@|=k#oQYN$wEj!4g{iE>7v^Hzk4#}!UBn$@*$ zr~&k?DNvB> z21BDAymD0CL@GEfud&457`QaPGnzp_kfY#LZ~SnB7Etrx6J>Qv?R> zu2f&5?;-M%6yHkC09#DwvYZ^x`Di0us;fz?KZ(_f+hcvD6b@R1$;qn9LGgR}qeb+` zC+(%}>F)$1i;ty!UUH8uE?;~&lDqJA)y4b`wh|LuWlFk?eKC z5Ql;ez$?)WbzBsgN}ynCQo9P_i2W;$-H-Ag-%ZWl7^eEz&E6b$^4Y?t0 z3)M#Q3HcC`+JI+OnYk<@x8dp7KryIC20MeI93`$sTkfE`z}vsF_SeGOx z@>x7NV8WUFpiFS-liq05nk`bSc!(|%mI*w>(?m^2=IUb20#dU3I=trpY|Z*E*zKC_ zD~U_5+2*IA{o1z_;oP-EoGme2Zv7c+saT=6*PpQhP`8V9eUj9IBD<3kKIVF0h0jB` zeu}4Um-Qv8buJ@}Ll;^`&|^OZjierwIJ3LT2Y0Ca4cVLnEx;zV)u3~z&8@3M4qz!_)Y1Hs)5;xZO@ zmdw*Cf>In-=lkzzWQt_7(uj|hE@Tl7n`&wW&j#;!0#6b%p)-c+8UjcZ1{GEoNM459 zP*0`|7g<<bMRz=I#Pqurr_OIf_;jCt zps5@qcLF2=0J|@MR@V?;0G$nv$_pfmzJN%F5tU#>3t1SmmQ(WD+)%njw)ra#9E3+Vl!e4Fi- z3;Mvk50~>k*c$`qeIbY8CB%}UnBe=c-s-zlt|JDGSX;%bno$C)8shuOxP>-}r5Oq6E+}mrH@8F+tx@2X z&Hs$)3GVqT4>LGx-P#5*y@L_ptBbkPbOntAz{}cxpsa>`)cry!JG%@qARyJ1|cz<%*m|bma|MxU(vG=@P1|u|N(l+BGVH^xi&L(>so? zJxA4ke7(Qt?(R5x?}piex}6iM_j*o#qOR}&nFm#nPx{N7)G=Fz^K{mziyGX;6d&|9 z%a>L5p?~UAD5d0=e*Gt$lDNx2L)zo6(G8YEqn{*iZ-fP~UNd?j7BGYHcID_rA?umy zMRA?$oq3D@N^3QTd^FId`82)XO+L<(CzqFJV1B>A<;gxd$z zh&zrNE@cZ7HEMKf>}=8eR=w9uTOY@II4zI|{fnXrqTknfD-m69Mj{^a%Lgy>R(yo; zgPs~QF6z%!WDO6EDEieh>OJT=Zq!2q7)E*_r1`+9`75o!wqZ1(cB`Z&|3-_DokF)~ z+*Ea+$*|;q5WW;C&aWPP6S1M9oX?y^6`KpkNXF}PX1tW#C6OAE6rPH0;towDn|6?I3LR;0c_XSe}vb{Rv}gXN1%)mHHe`O)SqO zQ{FYk)Y%bI7pT-H@ZH>uPu zoSImaXKgj6ZjO+;MWt>|Rhkov@|Ff;>edLU_eu<&L=;W57j;i~Clnk9h^|+E>|W)3hdIYj_Q>F!|;%|DM@|DkatU;Rx<61k7-b{AO2+)+TkdY zGsL3^(d9dn@?E^M4X9iolwHAHS01-3=#-21%VH%A-kN;t416JvCHaSj(g}Ksv6`Sx z-#(vwyH^C?eicz!O-6JM-pSnA9Q3xCzm5&(U)?hH(?3<92m& zb8F~a*(ucV#p?NFlj!8j*73FdE@+42wu^1xBR_BbEuM3d>)mq9^SyeY@)>xqe7c$k zI?o{X;GxE>=h6QN|9W{9HzUaVM$h{VwUit1Eb3AJS2Wt9nawsQ)-h&EZ>707?bZ4( zpn)ka`g@^f@x|rujm+sLL(DRJ;44OvxW~c&UtGpig%*r{eFynFNeCT}pA8LygTw!# z8x0+gce|!ZjmMo4$H|lBUjB5l01r?f+o-;4O?Ah3dJZ<=FMbp_taLwJSGP=0Wau_P zo%2uJScLnfM`4ORx;%gN0^A4jt=go`Mh{CT@)puZP>F$&i;%0lUA=Ssd0R8=ihEO* zg5bGpy1zXruLkn+g7VrCmxA)9kUaVDR;Nhp6?V>tca2_X!HhDmA1s7XnoBJvS8jsp z$DdLDj>ejD%^)PQ>SuNJRAbr}>`N3bJGX$wa`F?+D1R+Sz90Jk^9Yjjj8Z?J>|7<$ z=lp}LjSu~HSrxoWGMDS+UmMhHQa7Gwd(h&5d{!V&ElAL<4TCNWvCL$Y=>(R!Lw3Wo zf?#TySsM=#36Isle4)Y911_@X@@p1gECoxuak<>3EA z|6XcsCvB-W*eLIkeYN$Z%U~fA`658Mp453i6eb<};eh!oFUecIzE3N@65}fL#M__; zQsvMTm+rp6D;1)esbq38O3$F7jCua+WYdmd9YkwhKD`_|VQDj8B;Q(10Rj?afXMbA zV1cpztI#%KpWAc5fE^WVnQcRQ_doJimr_oZeO&pp!F9N|dOi{&vi!Sfyb#!tH)OqJ z#uL}cOYOl7pzohhxl{rukNbNlU&O3~{@Wkw2*?#8T7bnG+69PkW1%DYLD(%W^aSit z|4QoI(K-r3eV{-Whi8(JG1f*PLJ@t?Z#uHqs(6y$ky?n3;yvd=VL?X zMwh=4wTSpex4M1qx3M?5WMk=uV8@Lm4qxTy$bv7lzKi$698F&OHJ&s@V*gOsi|8Y$ z+Cv}EPc@3&Izgbw3?=oGz^n%m-?)F^^)qMyCv&|{Qt#g0R} z71bhT^3oRoNX5us^H$P2Sf}UbK-i&&IO)BL9`U264rdPVY+zNOw3Ne24oo z^Knf3;ln!9{^dcW#6s1M!)H-Sl-=dOoLgCz|88_2$};`esc+f-#{2N?WGu6Q@7DB*bYEu=+}G(##7<5(47e{wzjpYHycL=5R;(39=dFmr7aczy4eUzqb)iQC zq3ySaK7XJiuwxo}LF!Uh;xWLLGqJhR;7Z#NjT2MpU>%6X@_g(o%LJZbjCRhQhi=?bGzdoBpBF&9$Aanh=}Tw(r5S`DKry0!8f8iAliJLqXmY$Tj9A2+Xs zES;`+(VvX!!dpI8#xEZ}Tvird6Y1|y$|GAW!C_>jX2i=V;^0*#+4P_;qV)DYYf%9I z%}7td63aAOBti}2Dhh=wZKP_*4RE+;je_0@Z-6UsCOc+gA$=CzGB*{)?ULuh{k2Y2 zcHI01Sl$6g(H43-{8?ywl(UQ4ApDDT3vGFX=vv-c@GELpSS8ob5VLgc=^J>rG>QM^ zHL^Urva|8R-Ov1grs6H$Nfn5$em3S_a*0}s>Kr!fMg5K%ijCVytp9qF2SK&6%fR@L zw1yBs9)@mXNE;*#pr(7Fq5k}nNJXT&h*M4K6x5xe%K^y-)ak#*_Vaz?3EK}nTHBM_ z5AIC)_RwQ8zM<{>H9HGN5W2>O{aKUeap!A^e(LkMB!7_hyl*}!HJX&_7A8Lp6&#IP zz7CE4d-K z$i`uofNy_Z0Ivpl`LNZEy@Odi&{FR-m;MM(bJCz_Jt`D~B5alBt;SZV92E7-$DpWy z=ObEoH$fkimb(J=8qq>ph;MAV;O8C0)0ScsYH_ zY0QKWvZzlvJrQv~1r=;`{u1E~Li|^)MVci$@DhUe=PxF%0yX8kg+}T)?MJ5tDo%ZX zhD|T~%%foCqF{w#*k}H?sS838`-Qgme!BK<=U%G7|L(69Ga_fJuZCLQwUpLLr{ihx z+(Ydos}~3KF!WC+_x^x2a94VN00rb8FuB_NZzLxs>-eW*3`1|vShBN0H#Fc-BTLa4 zYV@VJoaAburof+!q8!HW_v|>F5ez@y)2IV|Yi}|uuJodR*m{*cc!7U2g+{Wf|6__% z_~!8U<6b@1{~RYicrW6L8XvDXmiN~f83&Bx{Ut~Go#YQ5{Q^U2?FWwx_Wa-S`$xJv zF!nibIIufMo$Z7? zyr&-Tl^Emxf?lA}<8Zf-_A2i;_@@s;4tpxOlzP7e?lnl&bx`$GIq=>dhhOXT59u!c zt8s}&rO<^R*Ka3fNU_x^c>9NaFIg}c?@#*omr}CwuKf?zMN%%$TY;Z$%efqFG#i=t zF2|e(PZXfEG3^1X%qaK+O?VyNG`uO~<<9)_hkWcCDu16TH7AcY5_s+Ytnot@^>WO| z@Avq6!JN>N9_#Y=xLdw|=my=Z&l2#$Bq?zIbBBlIEq<|y1klioMsOGHmaiasCiqi( z$xr?zZ>YTw-a&K-_6jClg1tlvRk6ukaML4iyG{=4}7pzHad&Mt;j6<>*#D@!PsZC zL%+YN)|cqr2G1SBu+@Kr1|=(_{*C8w@ZMQGQ5215h_JP-R;kLG=(madGi26yB5MKy zR;Mq~er5LZ1qnNl;n&IM{f9QhDJ7ksK2BTUv;|IE;Isu!Ti~<>PFvu#1x{Pwv;|IE z;QuuX6ks`EB|eMsS%%Ldd~&f^`3OEM@wpeDoAF6B7=|WsxIO8F2kkJ?aW+1bhHfh) zjJ71`I0qlXW0~R=2=p2Rc{uT(^2H5yA_bq3_|SoArNk#+>s#P0uCMSe@LcB;HMP|x z-nzQ6b-DH4D&M5}-ud1-A?ke9H4><-uCC#9Bttt$mlKtPc<4iVk{(3qZ3Bdnt|&{R zcHNG1I{M*r20m%{P?_<_oIL2(MmoovLZqA--s0&fz$EBjG}oJ7T~z8V6(WfC7uDCw zvdYB#k8UbGk51aD#~@DiL3Ka}=}i2jC-G7_=oo~LCWp#T*Xc;d zN5g3;PqPWxg1&>dQN!t+K6K2)hw8TspDy?`;6ukke8^w!#)p>59>oVYnhU&aO!UHM zA3mh-yZ9vI^Eo~w=NLZm_`rJP6f-KSN~;%$@}jEJO7BQ-t*@f2qNK>@6=D)Na;xT6 zRO#W|+S=+`QPRn$fU2VUin&F;it4J#-s|8}KGaWV`U%FXeMPPJI)g9P314l++_~P` z$=%H39`09GEa1RRg;vvDR$EDDMbmponj8YPX=EHc&m`LN(s8)|ue{_UuQ(s-7 zFRf9yC@HEc@m9hjbv`m|X$1^eUR_=1trBGwm0mHw&RaSV-+bO$vI$`WFDMliWzK#J zWbLHZUhDICslj?+-1%PTWtUy%oL^PyEkos$UgW&NX~yTgdiGG~jd8lm$hB0-a$e>v zn_pEzmDaDi_!@|bbK)qeuBxl9^rlu;&+T{N6mVBm&2`GmFLhq%yx2*sLnWt9s!qAo zn)!9*QsB_I8;9z%p6lgO)akR<@~!mxoY&z(WU0r?5s6StsS*jfrmnimLz2c$nK&V} z4qgQ(E?d~|I##>Z>ziL&#cWbXA=L+)D6WR_Yila0o`wz;u=@hlOu*tBh$uru)hE~C zKvXAPP&F#g_`0me>KbnqUG6;5U#%;u_Xe-Z6TUjE=5m40u)29gm6exYP&e!n^=;TC zxG=A7ZgF)3rQ>f^)!Mg(h~^BkBnp@VD^zyNW|2C{tc=4lghXBOm+ zoSK_+sk5}mSLD1Fj_ACg)Cs9o)jnsj*I8EU^_Iqo&XzwAZJL_Cm|t5dDl4k49avIX zQF1N(-nXy@|I4at=MAizUp%kECyI+ot{qriI}q4{qS{h~15yzL*7TP6M76IRje*h$ zU2}5Ec6_Pxg1R_k>*(|?Lv!f7(C;EN1*f;N&Wi?P@Qtfy(?wBIiB?%k4HmlN>lMQ3 zB$p~PIxKLf6aV1g`0uM-h{l62IEWoh1PN|%!rqtS;(YG_XRWtxex>hHXIa0C1~|P9 zRrpp!nkWHChcr^wjWDsVq`aS(+JzvA;UZ;HolKI%QoX5Mr7ZczI5CeR=t9_5hShRW zS5EQ1qSPy{sT&A??(9c9zx6kC55@o~y9gCkFT^gI8=p+(-HU>pF{ZU#^+mn zCXH719u;d#AggX)9~@)Lodd!#0R&b%Y*uVI;dZzgZf)KsNbMNyRMBL+-X`C6x1=! zIL9`05jy{Wg12>kM_?_!x2)(0w1PJO3U&i+1w8`V21IgV6 zm}v$b0P482BQO=T5p)q~6KE4%2i*YL0=f;f6?6~iUeGqsHqb3FR1G%&zQK7TXe`c~ zKzo5UgStRlKyyG_L1%*Q1+4^a18oFt2R#5+O!f51@_jz&;pYwf>_cu!;s+ zA9Muvg1SEH2=u{#yylaRKsjjBr?4|<%V#*p0IL<$fdN>-A=m}yg`iEKHJ}?n8$q{$ zHi7N|Z3dkMe#haCKr?8|m#Bwxk>A%S4{lB>_y+ocHvb!Xfwq1Ny?z0CA`n;)+HMI1 z24JAuW(@>}Il*ra1hR2n2-=AA>@xy^H$h$Tfk68CNDu16^_E2VFwUEj1A!Jg2i-$* zK>eWYpqp^r)in^9`b*^BJrMW?j@=5nALmUy1A%@QLyun~9cXr+K;Q>Frq&2r4m&p! zg`Kl62m}_9-9h()wu90@w4iSw-~w#{Z3E4|5a~(Ji;y4kF9iJoRP@KbB=T(ry&E+9 zV(^0&fI2YntpTMcJ@{$0;_P|mIggRvj;;S@ed6IT0xtJ1p>}K;JYjkC;;7?4gG+(VFz^s&Rscyz%0Bo zrZ6`UID&IA7WHuf>@^Pc0O}YY2&~2R>`AaM@l8ek7_hfa3j}uJdf`>juP^kS6$s1( zt(lE_!u94NTqnL#T*t)9S%!MY^;Z0p`w`H_O4#v2=ra#`;ku{|1e%F&KJKstZLEiX zbc3D?0)bM{=7o?8{_Gnd7gXGcIMxsNO-P69tv3e(?}0iOBR@Q~*>($V$;9=>rN|ew z^;YBqyyZ6V;e783;5cvp73$$4)XOUP2hOu^M?N?&YywVxac3Z~ovz;%2o&PH;GRIh z-XH1LKt5>u{m37*a6SB$@MhFE{HpMgKwvZYn>WC2pyE-~!vN^95&i|*4%!M@@LSXe z=w8ra1983yb_Z<*-2&?R9sC!x88kf=_3;?=18oG|0@@Dh2W@#A{%{HSH=})kwt&*J zZ_eKb0tY~wKzq2L#}m*Sv<9>hv<-9%Xu*?^1KJAO%MCd#uoq}EXcMUO4=5jK3uqrq zBD4PpJwRJP8==2=3jPV|0^I_9FKFx_q}u|$L0zDEpxK~{1|z?%kdpzv|AF6t7CZ|- z25tHa>H)OS9E5*diuC?Kpa#?l zx)js}x)!t$v=y`w^gU2IQWO!E>n96KgTr!8LQE_@_DIc`=F-k8^r2_sOOj($Qjf98 z@e5)b#T91{?LVjwB8f_$1L|LlzKZ}p9H6uCX}zT*&|Qbs;QJn6XE8=;mg2J?7|9VM zk{rX6dJIo;F0tKiy_UW?MkK}NCOOAw-{soLHn4t!G*c*zcniikY*Ff59;2j&pMqxWXBEQ-vs_@;>ST4{cfxM)=*vc0CNC4SzQpq`R4?$S!dEkx^_3N^;m{GH9D^q(zQM~Z^5-nTq~z*A--arr8x-k?FZi$@YRI# zm1=xsM}dW+AHYZDpo6d!V8?)IWg)B|ux|`}!+^CL_zHj>G4PcF^8?ey!X&Q&m~VM# zzN>)M0MqB&46M??w*^?a0ox6%6c~nu@}NB416F9j+JVh7q_x|z)&@+|kJ>#Qmg@`h zWmJe+cRuRk94$7G50j1ipiK00!1hbfIjFioYoT^KRWtGMB$sM~Q^9XX9ybyHSvvkg z;_fqgrUC|NvgwlPF&I$fQ!mZXPC_uzY!MH}{+zI{5w};woKd@3@m^R3R z_>KT`^gxVMkc@8vh29RVfUsa5V`LssT{v-l^K%`6A<&!3ID!;)<|JiP6S>1`>u=E- zE20!w$Tm}vW*cN)h3{gbmPRGGNj52pXggkgjro^?-+z+)=nljd@b|zNv=HArbyD)t zBq@@qkg1}YR7{p1>9XI&UH+5~2Vo)_@fhQLJ(dD&w*l)1jDE92&o>Mh%@Ooi0kG{l zEDu?fl01~}SCpT!#|W}oKUCt9s8!OC))`5$JNCT#nhu&o3{Dtal}G8@Lh>;`XeU`X zs0=%S#UAYlP!-WZ{<|O8n`dKuNPvtz<xe8s$8bI8za4?kI_p*GL}8e9vb||B zsvzT2I-F|1z*s0Kd$O#1IxoPr_i(KbUCXDKhikbzq@IqYfb3RyEDOU5SD1=*H<~=&8*+K!-Hr=8{P{cy;()z`L-ng-q1is1%k#C3&y2~Cn+GB`(E%tEXyX)IIMF=!qd}vLk=F&jmeDoU;bjwL<47Fi$L>mqVo03Os zI0csn0%xKRJ_&i&k0TXIiIaBU4tY+@!9B;f`*@?>scgrP_M0(3U)k~!&>k?)|GCPx z7Va25`E2%#8sMc2k z>Kq72U-2WIuQ(8pkE8_qnXopx+2||OhWaGIU&;f4^N!bs9N}$<^esf%_bN_Z-?d0* zzxLGi%|o7VB5ip!)`&W76xOHC2<<>~lU%m{(U*V*O;mO#1~&uhPQC1;$1J3+ng8?X zu?e!$v3_-`bwGL?KwAF|fxxj-v&V~(?BPP^w0R}gnU3cRsrr;Eo>HGyiGM9vBb$Nm zbfnm-a&%IoP2V}#ew|_xFcEJD zK<0kPbRn+?@ZJ9W#fCYHwM^?l(QV22AB#5Q!YdGN#9Y!|hY?+P|CEzd6QV-8HL?md zR1Y&DulcEtz`GcG+OL2-LpvOu)MnB3mswHNRflw$!@+?*1hQy7Jso>OXOeD9Omu4r z?Vp}A>7VFDRb-!IkSQ={B3)&9m43naGFJ;PSdGaBPd~IXC-^5Iy?u&a2dFJa7(BYL zw(D9O{DH>~luspO40skYs2oG}GE{6DozyCA!aem9mQb5WVXerY^w|bkuIDjVBUu;f zWkH|ONw9`C+Sz7s(BZhKWYD_%fETc*M>2kKJQ-Uf%AmT*MtkeG1M6Y%JNsFB8FF|< zUSgStf4WTa35p4uuxCYYB(}e8kcq}AmBhG`eWFJspCJ9R zA!`q04f|V1pqOO+SuYEA)BC8+8djf8lm;J17xX8ub_DLGcKchs3|)Pq>FVtkYe^N> z(W#;iBs*19rHX4(MTz{Im@3AmiiT8iwFGNY1&~RpVqB`2mMZd6#gx!5vr>g86-y3& zOL0=WWkk|3d>XA|5DHR7QSjQ;Vb{hZ>)EMdy3BND(dBPzC>? z)*SgCb}YxI2QB=)iG6LdOW>Efcqnbz7;Ilij?z|;(#tI+m?(@$T8mG!Wemo`lT*dq zRH5&GrIR*VP2`n*(JkX0A-feD=%uC;iO(TJo?__QFyreKC4 z!IYy=NS?=#XDjwXW%(waQl7JZOrA3SVQqc=zK%doE6Vxx`8u0w@eg4uSWeqxk$hci z-`gOoW`9TEiCD<`%pgn6`w#^~`^=}JBRfWm4SJy-63|KSY3m5knzen9!6w>V5;d>$ zeYg#r2QEHUIv?r=R?gS_Tl41SsHafJkZC4FR;SUDt4W1m_!s_*Z0NTc`mO)CBTzy5 z?a-Im*uKw**uD!OgZ2vdV^8}{J7hemm!WIlhIsw3$)uR#HKMb~>4tR=KOT=Jy&h3A zbCL>|SZ(Mx9Mby=)4^8>zF}Ag`JDKMBDMtkTpC)aiSt~GZjEtxQVpfsfOOwr|9ly~ z+h;(&E*-B;B1AZYD}b0t%keDjZw@=s5qO{SyCgIns!?TlOK66T;N66LdSD|b`=1?w zH1gF8gK6cQp62>gzTk9!lx)qY{AyYM*Hf!UJSZIlrGI(^z1+O9OeZ3^*Q zTZTQd^HD!Q^Ga_9~!f)-$t%_a(#I}c?veM z($5V9Mo^hXDjkArYO*d1I(^@kU=6KJX`TYI%`C{NbOr)gzCWicxVO*d}#Ktw4q8*WaMEs`GZp$m)wdeUh=`xH2w?B!kM8em3IK zC0wp`ka6O<(s9eR6!LP?xm?x9)ycG6yCI`>Fqdoeab=j6D*^X6ExLls^^2cgu33<` z2M@o?`uh63A5~w?kdcRbZDf7Da$FgvJ` z?3sgo4vHJU#fhPP(som)UEYgi7a2G1M$(;F_q&SpxIwQ+aExN8FK85DMITI3uLC5n z6!$riUgLh8UR3V`VB+m_1A!f+S8sz}un(7yr)onC<&%agAUQtB$-#PGEy+2IN(|ar z8}Cayv7GZF%Ar1NJLD{?#9A%I*FPKNX#IX@?6>{fr1PQRj}R#wX!dzEfxukSZ6#!? zI;8$bjhBXE^F?A9m^fA6oP#t=uL}f9NRPUc)8i7821a_&{A(>_7GnJM0gdlxpp(&EHY`-;Hdzl^DTxhJ*Mc<;OXVj>^w+S-$H*jp364WKw$DK@U!4O~2y@>_a z2WaI(+O7y|jevyx0*n`y;XY@^)t+sV19z)n$Cy?m)mr5M@D+e>0P|ggD_QvNIv?pF zcQ(G;cc9aOtuQX+@yR6J@T5ZfjukZ63jA~*YCh7=r?mH~v}#N8?k_vml&dLCvOZr;Z_ahBPH)bY%3X@|>00^^F#rkbeRAnHAbqKp{>f8Me*o$4 z*3#d6YU#;lec(hpk-nJ9KN0DJ?L)+zB5IveTUgN*H(j8{%w29@23Mso}@WZCb9j1!cd(o98~ z^cy)%-N~g{jx;q|nu#ZuW;@bs*3wY?ISJj`k;bp3i8;A6eGm)!;J#sLgHJGNI*EK{ zB2A%|=J}ILvkGa}YiZVK^+=}n^GYv9SUu7JxL|mf8-oBhu-VJ$6HF~ z0@Gv?<^(ni7;Y_+2Vv>JW&%rKtPwO1*i>M&x4>;d#Wh;S((dt^n$%E?g`W{v6&``b zzcEQQ*6gH)s}0cXq=wligz`f}q_oK%=+KUP>a{YVS&KGcy&lH%2KY{Tb@t0OT3;;F z#tuZez(@9_gVOc_<^nd9fRMCxA!+eqHBtU}=e{P{XeO{NxE~*GCJ&NV35@R1&mm-H zr!LE^B~l*ME~1aP8+^yWm(F}k=;ke}Gt#jC!*_i3Q|ftO)wCVUKf6swhhpSlF{-i4SXcH}J|{Ls4j@ z$$f=FTF+~^%6P?OmA6JM;bF%jxY|oAdM@aBcYo9ge0z}%dJck~sy^h36y5*SZq=$p z?d4IL-AGfjgwtGd;xu_k^8?as#~AN2IFbEgl?LN6v_rW&E64lAx?yiFwqb03n-1yR zqs>DbYgvi9BAt7i*w!!?*>jw^2wYjLhs^D_qb*w?lkT2VcA#k%t%d!r(+UNG_$el= zzk}yzU+ehgeYdvjFmsVLPD`rfqd$=RyI?bXw;u*SuB!WPN0P&W%_YaYeIPvLZailI z$FzT<C}6ta!d`U_?VRiOcWk{)d^EWJi#9tG`P@u0GfiZMuK!Lj5m}fIU7H|p z`Q|`i9M!|O*o=)7qY6S)Ofs2D7myvkNrOB*%j9G`5Jt}#-3?6Nck}{A&pgRZg^>6k zyj4WT>m2Z{1s_T(b<;l=LC+hl*U2RocwmZ{jCUza{)bh3YjMA06`QOci95v8DCE2ZYO}ve$^0uw_!=++{z4zB8Vzd3|1w#C$fA23# z#EbnuL_s#Vy4_nW9(AWSd&GWsx3z`h(X^=VJ>s#n#C;y|bXwPEfTvycM6q~!P`A4Z z#nSYsqaLv${jAqLqB-61s7JJ<-+^47&z$kQVzDl3#)e|?P1cNuip48K)&T!#Shs(8 z#1oe}_jtsz%M<@RN8ELJm#5~44VQO$e2)0j3*zG{5~iBPsQT)+^+3~qB*y_zfioKoBmX>czjg1wnEW5>g-nv z#pk0EA1D;xjv6P#Uq&ac@rc((cfZ{uJ{_IB)FbZA>;A(W@j_nuJ;mZTW6t~+lpT}& z`5f`tnC>6X5qFMFzpGe$HMZ-!bHvhd-QSoao*0*YXR){=zuU_wT>jZF&JnNXC$`QJ z|H$_v{Oy>Q)L1B9pN2uMe_DK-M|?f41C{vYjKo)Fi;fvxcFY!c%=^1Ctd|B4fbVjLgFiSJ@Qg0BVE z4Yv#tBhVl9$0H`cvh@F_P3*9AKWMXjV9EH(hG%*l@7Tl!Ya+h?)f)4SO}u4|gA0FX z-GTz*4+qMdKnD}=bB|F<@AmnHGQqc|9@2eLqs4J{I@zrLd#s`|?yyzVJD#+PWtK#I{jDYD3#<5(CHD7L@vP-V$`Q7{SouN= z`NH4G7w(b1fUocc?6E#-iMz`xp0qs0{8x&*V5Pfk@h>KbzuV&PNDzzdJ$A*5`|LZx z@qSdwbMfM~=w2)1#jfbY_Y%a%(cR$ezmDk!Xa7q~w{PRb*D;gdO%MlT$KlSw=gx=) z&#p7z4|G7E6zOl>@3V^X^sg;qz2$L;m3R*3zTM%o^IS(Q;sML=LvZlV8wmdUHGBxY z{OPj(pGv>|2o1y1AL0ErYaA->POD?5O+0K(#COyKDiQVY7pjLnR7#oOeHQUGT={Ej z{1*<N_Uwm}#erD*e&-oyy_zImKZCw^oN;zzl6WePzPH7leJn}*F`mA^ z6QA-}l4wex@6RTjy)RKLPjuk>T54&e-@1X8J}OSVZMBT-{+3nD?Y7N|CfaSQRqV7( z{1D%*MOp~Z)$`L-&u>ya!;)z8_=qH|1H6D!`ack{=H*674fV#ME~6Q7L{??(TJqJWg+K-0hk z+&cAHgex2RT*yuk*iSewai+K!6E2)zBAOwy+474&PB)=AGdDn9Ohq0FLEx!f+8yg}2v7P^RtYw{j56n!=sti|%RXAB? zslDGWIxLv{ZLr4uHcC8U?JdOX*2G^&i4Uxa@7l#$TjKU8@u)3%y&Z#ySbYBwkANr{ zb)pnw*SJ@@h$?J2thP8_>H?cPp6(+4VTu1&qBv?vdNol5tX&`NA|A1&{MI2}wsplr zU{6IQ{wG2*m z6M55Q-Sq0-9UV$xSJdcsOZQ_|(PZs<)GB^s-HimYT}B>r^`sYzHFSU2DsHz-zzV4) zX_ZxcZlRH}r;TM~&v4}KVte8Ut)^)MOJZ^o*@;5t8CFBA5T?LkOd&c9=nrq|! zVG;9hpbNmeh$BdU#2WiVwD`t~2+VkQ@iy?ct+7wq#Uu8p-`m9|I~LMqnsdd!P_O^8 zM|H%CKSag<0B??=?+?d(rE-MaZsL3)&QC&Du*CYP z(2}0D+!0Lof2Ztq-7ImJW;fX^*FOlWX=W$;#&5JmJq{Dpowf3)0*ETn(j3jSLyT@ecJwZL=e z0Di8x6FzV!d>}^bvd8}rBkqi*?`xuE3y?hB#JNJ8oAicN{Ke8_L5O_A8uWoKVmo|o zyDe&Ota!op8w}EvT!%OWxrgjgU)#k$?LDL%qYV>i4Y+UDu_8;2!x9A6Mf!Iw7Q==} z{sfv(59nGVF3;j~G}+!=CyK$CPeS(uTF~s*b(XjkCdMUWSa7H17w_7{JC-Za&wOAVhhgFGY-Jkn00BE?CjU>gsPFz*G&-@ATcX81 zw(gD5;(1$2N0fLnD&@0iu_KCp1_<^&RsJi4R|s$N+h@Rw9dDe0QCv#v8JN3tUwH;* zxhd$EpR{M+iit#2_g7=Z<54LaW5r`Jy@2eB`4&w<2KYxWn3eSG3q_ zb*za-*O+u$v}m)%eHtY`w|z-%XWjXho}yTYVh6?oixRh3EH7CS7h5g+ESPmmHzApQ z#N|ROA0&#m>^X?H~T+=z)-+?nski(khlz7=ozJU;Qk1k1Pa z-=S@4c?K+J$v!0!;iWIuJu>5)tYQRBAE;bs%JFkDp6IGgIby-knK~TcDRLT?ydNe> z!S;QV1rtTWN79Q@Qxm_87DH3;V~#f_Z;i%CA?^>+;sZ;cwit1XHRZc#j7H)+qQ&Rd zl#MZP4#(p$Vr5jy+DnKu42 zdlVkoKVp}09er-}6V@|#Sc6@zPFvu#1x{Pwv;|IE;Isu! zTi~<>^cHA8pw3#D9(zg6Gh3etrCOTx1q$!SRD7ykQFQ+nbzMWt=>`fMn!Npdu3gvY z%t?x`o#nP0`L!#GHX8B`y?XlWv;|Jh z0__2HoLZ{W-2bmw;QxewV0$2VoHsQz&IT|1OkbL>43+<~;ryp&!%M^hFKCsAc3y5c zUu-zP*Kq!X;e40j{2jyj=Z5ni4CnE4d;1=^O=V8xrX!W4CgoV zd6H5?tl)F3?91a{e4fDPVz2s=$mf1~z#9j)a^vbR^3bm1 zCkyD&0#V3r5T!1QZI`MqwC7DnKiua<2NRJzRh`ExBJVGxuW~^h)c?E^sCn03E*Rba zPltA&K5j;nN7H6SHN3~&>Ri*a0sDV+;B}Gm;8W3|9*q$Df30vtb6FlO9onxv-+jBf z{vDrRqE1i$|G&%vYjHDOq$7jd$0(-LnU*oFXS$5(8m1eWZe_ZQ={}|hnI2^t{kqD% zJJY^QGnkHII-O}5(|V@Mn66>Ek?B^ZyO{1{dXVW+rqOS3{!IHa&0so;>2#)LOzW90 zW4eavMy6Yt?qa%+=|QGPnMVJe^Jm(ZX$I3#Os6v~V_MI28PhdPH!|JIbQjZoOb;?W z$~5{-&Yx*trWs5}F`dq|jA=d7WlYyF-NrW=`VWx9*$KBfnm9%UN6pYvzhmuUvm zQB0>ZEn`~GbQ#k%OgA#!%5)dgeM}EBJ<2rt9nPO=U#1yMM=_nww2Wyz(`8K8Fx|*> zE7M&}_c1-l^eEHlcR7EieVJx39mRAy(=w*@OqVfT!*nCltxR_@-N*DG)1yqI|H1h) z?aMTS=_sbtnU*oFXS$5(8m1eWZe_ZQ={}|hnI2^t{T}Dfv@g>PrlXinXIjRzp6N2C zYnX0ix|QiJruWO|fo^!uDY)4ohIn2usPooN}mu3@^7=~kw@nC@eGkm*sT z(I0UBO#3p;U^zOWNx`ydSrdyfrV!Ds%L8eEUMt{ipGwsVXgXt)y)0vhr zt!KK7=^CaRnQmpei|Ib52bmsa8r{bEGwsVXgXt)y)0vhrt!KK7=^CaRnQmpei|Ib5 z2bmsa8vT)wM|Y-unPxB@#dJE;GN$!RmoZ(#bR*NPOm{Ke$Mhi6qfDbe=KPuVWtzcs z6w~QU%b3ZEn`~GbQ#k%OgA#! z%5)dgeM}EBJ<2qi*G1cTUDSdf+G~JHwpOK=_TO=Wd2{<=jq}tf<(G{l#{52*X+5qW z$C2Y+HoZvs(Of1$o6s<){{;D&3N*RkV*Mz;P2e$>@9Puf*Y<^p;1j@}Ccaq2*`j5SY6n`WM@sz6;QE8c ze+|A+zS@3=hSy8}u0mVS(C~ZkC6fM+N&Y0E?SJg%1oYcj7Lg>h{fjM()B8aQ*Y+3Q zV?{rZvSJqUrTqL>yFioFS<7re@Npu;D2De-`Y@qJl%t%i>Nfy+crJFe)+$HE!mdlxC3-YZ3iO*Z!~Vw*uucgB0H3)SZ$#$5)Se#40L z$ur=Ze-;|>iQt#|(2Lk`kl)jx`E9d-{{`lEUZ)uGoSHoDlnZiQL^d97(jOZbuQA|H zGu~{#UuN8Iz~5(llfiG>8UMk+Z4Y=ImQPV@YfkHFyIFmuQcG_GQQk^ z$H@ihE~43hpUZfQ0e3UL(}3qP{+*ZR#(2K;T7v(1Qe|G3+LYyIhd1FrR_egm%cr^gJq)}O{c5^8^~KkZ?_wf?l9 z0oVG|ECc>Imn+YJ2m4tA{$J)VH{cE$m?F+J81UYVFE`*Bz$5u#jtQ=fqt+YbXnwof zfNOqx%z$hD*^i#X(;b?>RT}W=&`0)DX^MZi9B1I&NQ}2B)r{*WIk1`|6Uzn`q z6f%Er#x?(0WZ>88eXRl4#^)^tTpJJUHsC)XUmAzI{;c$&IVK(b<(DqPfk&0}$7R5Y zKij}xC-Eeq?UVQCL=Q8r?U$!9{x+nr%_L&eA}g- z4*ZsPXn9H9Nc2Lz4`INT)A-fyklO;c#`cug! zx+@~qF2o#X7j-2$X9f3-85UOnCqLBY?-*vw<59`qO&IqBpJ0CNzA?G^ixl5V z{vN``<*H#hm!7HQ3tk`4%DWvnl}lTPIEVS+B2pj0zm7SB@hZl(btO4m!L|2*TSO0` ztygJc4oN&oXzMC8-=@RaP082RQ#3iZ1Gk8tqM7wq+(O)Mz)^kj_`Sq?2<<*Rt-KwK zYxnDE_y|-G*|~|^saCEQ;A97FJx$Z|Gl{1J?<3UYoO_m%qpc@t^;HX;?4aF$sPX@S z`L*>it-NPr;!OP7{fQd?RlrG4?S90)T;7|q2uErSVEjRrquocT$@!S&G}AN9IAk{j z`W&RQcNuO4JMtqnOCoVcSvi{Q~ zo*)Wlh3a3&cvG~>*T;D*W4v&@;-}x|q2muG^4m@Dv(AgG554j|lAXtx;CGtf&zs<1 znc&V}D7)1hR^`$B`7+>CkIhNS4#|p$Yb36C_5bfM!8fy<0;du{@9(4I4HN!vOz<pTtq`QA(d@g*vvF@V{?@e`A98I$!DO7_Q`xs13agQ82!u0dR}9KuaP+X#4p95$5qER z;3R)9$HS`_KWHMyiGiG^GqXyPCUL}>OO%3nd~p`zHMt6>-zcMFtBIU ze>FS220W5J-Bll+Kp2bF*k ziioo?u#cqY6yPMM>2j;&yjc;^?LvjO->d{{^^yTRlAK}_{5Fz6>eXkgou|667lzp}s?9&K5l0HvJ9R6VFU-oNwFD3YDn=;V37pd~@{g*ob zgzYvBcqI9^nBZF_4tpjl`FFFNS55f8GQm?Z;HS9S9;4(Gvz#j!cl1{FIfL;+iSvn$ ztTn;kWjP{8$tmV~37GKbUL4sD*PGxwfS-?kxsm5JTEDzc@*@tUs&WnCe7|Gd#r?== zF2gwk*bejqW;irClO@hfI^tt~$2E!{%}^c>04G1k%Rl7#d7SU(%olepeDGk*d58!xYjUBJ5_p6@oqt4~>u;JEq# z>-jz7t#~6I9VOfW3~{Ttx7{FT8E}dZ#(bNB(|EXfo3aBBqs12HZ*eG`-V;s7eu=B^ z`u|^=;P$l0cDqR82_n0|bN(zlJdGIHc0Qq=={m z9!dXOB|kIi$W{~lEfYLuaOCn{VS*P)9P`1xszCIfYC7&<+`;iMS;68d4d;Gs4C5~` zp8cr;av1-D@wQ8p{4BQdBj}->gc$6gdKULxwKO4q5(}72_TOIQkSd{$PENrO>{~sj3 zK1cQaAaE*gGsm$4W;w=q+hL{n4%YwDA(8bjF~JuAC;3fFlmLWBd8{?z-(`aPSx&QG z$w^^98GEUczn9)8jpKZdx2qU${aoR}aRTs2_8&MjGCtJ=Uuc4FkT~LxU#cUtcC_1s z|NLQ*^KFng+7YjFYLD68&v>I@Joz|qY3B!3dHX1W7p{_g#0U06s38v*<4xS&r!Zat zoa8t+Dgj!%-pu?WUKzfg`FAkxWI1Os{;9@apyc%A`f^+zxx9l+@G=v8sl?GrTg zxbcVy|MMFEK*dkLCr`&Q;MC9N{Ye3EdwKM{LfN6_w~Al$s~Nx}`OjkJ&px8k-=>m@ z?I!$RFn=qL4>g&#?8x%ZHNl6P;KdS0KR#P2!ozO7m0bBl8~1m`LLI-6IG^aqTPFA~ zhDX+OqQv1pamt>W{BjfiJAsqGHL}6D`x0LF6?=Ub%& zEskAp!v6$t(r51%Dnm^l$4F(jY#tw4Sf6ypo4CByjE@B_+av2=#(0tB=Mx>d4|t?F z|02sT;Qo=rn>b)1ryl|ijaOTFoT=&W0xtXIGn5^QIqy8+vc0#d5*^`!JkAqJw6^qC2q zF6tQ^h@JRN_VE(qliZPb?*P8IZ zWrF`QKeGI*B@X-Zx?()bpKHRu$^?Jh1pgR#q;?TMKC(UoP4JPx$^Pwzxcx`TkN(J_ z;zn=Q|1TzT-Z#N}PKd0JTjCg}aR3{ws$a}v+|^qFH>&K#Z6!{BJ6LZT>q4cqBhrYl1&!g6}uMzXVQt7JRDm<=aEW<(N1`%D2h{|FsFe0eB>T z__O3ke9Kq)YIZ&V+{twsLMBDlr;Ehl4_q%Xoaho0{;N&!Y7_i+;J*w}M4kN3gnu9K zE)n>Q}UxiWy0oc3i(&aXI=t0h1D(6C=z$^3;&6~ESgS8Mz{Zqe-X zh{W}ptM4zH;L+2S9USFKJ}-NT-VzU&lMkHM?F)F_-o-2)6Mmlwz79Cq!L>r=%iH$i zBjC>PY(=|?obzWyw)0dI+y`9ddqCxTo+9FP6aIGQZ+${BYU_uoGnL(3JbpfdbsjJA z@B%C|!Jjn251ZgauZ&#Y@h14)630A+=YyJUH<<803tam7i>kcOvVE)=2t{hA=a}G` zCU^mGlHayV3FfdX?l$3n-30&C1n+WnWIeNhQ@+jjsC;v{T=gdW_n6>sOC0(SQUZo> z|NET@|1W2;ztN9q;Lzs#MT|QZD_n~M3xP+n^JC0kNWayBV~rx>dlUYPW~+R&S1ZP8 ztmi7=k>qcYIN}?x=V;@-*G>4pFu`4zP|NwCMP)c&YKz}1WZcCIY})?9H4C3*rsD8t}`%y zEjPiJYI1B=$yv?(_W_r2mE#yMi;HJWs=q)x8QIZc|EmfJbUy z%S`a6SWc6noxUUaF|Ibm!!Mb??IxA4lWl8Ti1;jFbnDN#vieDRl4yuf-Pq7JpCvcMA z%!sv!RMObt-z_hv>Nt(4oZIPS8}^c6lO(G=ih=fVw2j#gjyn(#j-arogJ#jpMg@gd`dJRXQ){ViB1h?H-J2|h#Okbjoy zr|5Uc>3GnDe-H3T?Xlg2zw338^%*R2*da@m$i;p&gK^_JaFvOi4JP=jCU{J3WPP%L z%l5Th>7)7iLdlPD#b?ScXDK4qn8^7D%W)o2j9NP#QpfTSD;!~29@Bw$z!Ls=kwNjeDgdd zmDN?=I^pq@R(s}FRu>mldP;rOwRN7N`3<6^dR|SX*XJ!wbw%dzlvPw!c#3Lkixzsk zRleGVqO7)Pp4U@4f8M->NTNIQfYTSkIiMPgw0vA_$(=vn+8Z!h-`q9dQZm+gemDBw`+I_wFwDiPMYGYg#%B?^yCie<8e)x z;z`d(5F9fWp`boDy#j#_asfk;DV5berNoG$I&W@4<|K7iP*7h`{C`qy_fJsU=$V7U zYi>}uM-2+Exk2eLL0ILu2ca>H_tw=F&Gn9`ZcugP_Dpem+?lw7NGUJ*7S?zXekY8h zN+_w!r3&m!EU&j9v&FdGf!w#V^2KNom)_V8vUs)$moiL!;3XIJZxn|fWjkLMz|p} z!VQ@j?);hIR?7^xT4s2Tnc;ylGd#zv@Eo(k#bp!c1H93yL&7~{NVuv) z!c}#`2yk6&%W#zL4 zaww~f)u;H}nVwPet4e49?JoGa zW9xG3F@DE?8B%hGc*bLzP+xtmH+S;5DZU||;Z+MgrA5A?DQO;xRzGiUZWpqfS5$=_ zt2TGCK09Qd=|N^$p7H9kr@F>lD<>%@6Es5#n^{y^N^^|dg3cL2fnkbc2&l#XE5;;0 zN~xbR;P|oil~ICmAUtF8IIZ_D$Q)Tc4;5AVztBrgnCo%9W#rH0E$%dUT2+p>erk1f zrPeMw#~Hz)=!rdK%3zN+UY#n((jg9D)&#@Cz~Djf_y__{WG_lJ<)mAFWbPB@foMG6 zS5a9fqY+jT$VXIU@{F21e0;7acS4TGBXVY>)_TiQJ)XG@4IVV)y6UQ;$_n2?Pd%13 zXa&R2s53Am^%YIUP<2#wEs-&uO*c2a3JV-^^}x`G-C4n@vs@P-H}0G}sDZAwe34Fb z9gL9+>J3?k&4R`oVkd>xw2Vop%-pKE6;RL>Fw3!X&Kqq#S zphvN@@G{E8QKP2hPW4P3J|Z7`!8G0<(m7QNx6g4ka%ax<`trSVi%J$w=9MP|{0VXh zo#oL2J}i-Q<%Hqm$BZPC7)t$f*fwo&uv*7p*{HUxsKh&?wx|XUF{U778j_nu>pE2N zRL?)D=z~!79B*0C{7Tz6V{)uVobestT23xGNDfvVf1G_hrFGRj^f0uha7Q)xRcC8HK`k58{X~tY zjvvXf2{D6T87vno=ht~d%WyoeJ#MQD@nK!-J)S^gDa~YrFV=*Ish{XUI*r|tsxic0 zJF8Kb?05yOKcyzF8@c74bTHF9)bUi&buA(0)~AnP0bR16=8O7#j;E*I2qB8%sc>E} zEKyO!i(k-&=Id=xe-UYSZI%K6bw{k0Jam2HL_w8!bwMa=_;G5$0<@x5(5O`b( zc&3gqbUl;~4qs72$?cUQk_EK?@jiSU(P9LABmbQr(%Q3o+u??>*`b8)}s-lx#Yt z7NrJbz!nwP%Z}X;!Q5`7pk0fJnDyz_%%$1VI~zPLAh_KaE6~7HPAtsk6Tv#yHZ9!l zlKFMM>UnadCAT1BlKi4$&B)VeQZ=_q`i!Tb zzM+9exf#P%6~MR?Yov*Ta)Qp=3s+Pgj@+x-*_LD+as&ZVpa)xGrN2Vc9T|6$R zt){)Hf+?!07%GmI&9%aEcAk=kB2O_ULsjUod?n@CBWKPWK4OdqKN+D~Oi1*PFj)_2 zAA{=3s~3#NJa!(uOkaV)rd?E5gWWG*SuUE}^;(fnJuGC@ddm?$`3Pl*b`}=mX^*z9Qor<(lcpN#ao0xN86};oB_qp=Dyno^r%#$zTN&DGh6Z=H zyQaDhLqD|=8C;W;I)-wFZdA)nQ1gxIG?R^L?sf+UeM@bLW|mY|pfXDJ0a@?m?sT}h z>L;gG_$tYDwI~oY`rt`&>$@U%WZIYs?D}wl@PLLc6jkV{K(|^%)AOlSSb`tot)lqs zsVEyWv#xefov+lLUO_kV$QV$8OBh@D+=I1L9<+=KU)`9g9!#EsAa%=g$#1}#RZ&$l z-xth=Cc^MP)$)pS(`nB*H^0~or<^jxgFk6(;}V5=j)x~Nq3(ehRXeQ%znb>+0p>uES)56*t1SyJy#(4aGj{{PpD zxCG|$MC(}GE~+{#P-){0S)ZY?OtXV~kgs~0uPlpeDa5l*z0VCDiq8ufWY^BG@?3+P z_aaA0O&>J7&QaR%s!}-`KK?kkfwuV}7lL)`l%?Fuj?v9*@+-1(PpSz7dj+=|4Qr-M zn>1ODjzeu}=-%8zXwHC9&V=gPc}11M83&a-wC8eXs!d3J=WzTLa}?8^d7ZX09c=Z- zZS&f+MGYDeVR@$Fs`aWKky=>BBsnDsw(B5QdTDLZ+Kpy096|hl&0S51Y)2JtTuA(hiMkO)$ijsihrT`C^CJk!n{;^NB$Jux&P&Lq z)35u^n~pu*lkT2*^F%~+p&KRm1A-ejE(8|=T?nFPp%6hK?%W72Tm)AE!Ic=lb55PA zQ+0o4-elvDm)m{&)~&i#r_TA#cTUxXw{Z?Ie7v=qtI_oJkq(26lg=V!qz%|Od}cbl zx7^)tky3ERf|RV&LAG9kmMmbgiOZU^{Bm`hC3Bbi=Ik zNd1pVXk}{40dtP_EOy^-leN#<-Pve9Mh+K(GN;2;(3h#Kw9$TfD9RGe;ftZe0$R=5 zn*Vy6wJ0#LWj~C(Ym~rLWliliBD*e6iS>DsyX2qHN>XpMn4AGbOs9ZNaEjC~IRXS_ zqYN4a3R_}3amke8^-V7kBOR(LK_9y;2YFShfG z60&Zpuw;{ivyRN{o#8U?Hig5`K+$H>zl*2mt8+y=! zQ3UA#xPLN-P>Wl)dAOUL^yPrd5_sEw?HuB3ni}_0P4bdV?IW9U!2@!8GS(1B985W0 zSray9CLrDDuNP*d4F^!bh_XFNIkR{* zG~L}>xkP7I8@bR}V`%H96lw`&l<-Ze+a`Z4j5N8-{EeFEMZbCfB+sXMRd)EI{~E+S zarbBq$8!#ADVnBxT0bpDFJ$QNyI>$K{o|`sHnUa;tgn@A5ql5lM6TcDBJacdgy~S= zrDxEr(L8|2WUVPUv}f>8 zONx*NaOv>55f?8P+OANcGS+@nI-pwPuvQ6QUUU!HT@KV`IsPta(f7d#)x)VOjbS0x zwcB{J0B*65GLHSsXyGV)Zf0eKg58bJc`*t;MlGX*%laq4MdM5`P>B2(wX#=W7qix6 z*~_QLMEnw>^3^7j+2{qM+HL$L>mWW(v11C!>{DW@Cwao;=(PvhI0)9 zhJwiqft?nmNOUi;LJnTU(>};ke)qcDf(l3A3+9z#f8cf6{Kez<2y~pl{;`^<_fBsp z6|qf0u=tDYPq;oMVIvy` zBkx17S##_&J}B0Hc^Ph!2ww-nN4n{0_~^WvAqKUy&|xrkztK}FtCFpc=MY!WSBP=J z%YzqhmJ^X43sstqVbg3Qypj)JPyYKmc{AMR{1Ok5OOs3RU>@6ucg!0Uu=1*NMWbFd zz+^MvPLMNwQ1QEQA{au7oa-o#ldiWS<{Ffbkt@$wv(&_r>j200Yqy4D&dLeHA9@~9 zTmrrOb1W)&0D$F`gt$q*vr;>SmAo8W6)!3~-0@$_q&KU++}BXwIZ6FD?44MlAdu~5 z(R5B9BFhBDH&{_Py{um~N2uT-Lg65?jN~%rP0%^Z;OUwGNI{0H>D}bP*{|DS_Dj-~ zjP@l1$MIY;K;0zottu_cE#Qlv9X`Zh#&I`(`V!+@Ksa5@VYpJGlN(XUMr8-98xW9} z*33yO@rRfTNIW{Y0D1>ibYLSog$4Z__i6|KjwT$+!!kxT(F>yo@5f+aD6&h5NItbJ zN<^xsgBCeKP^))KRHj-ros3JzBUfW%#&iUo8s!sT-3C*P7jW$dm|2(+UyZz?|8k@ul5!#uDQz3cU z87;vb$U)>TDSYid2_lD6+IcRuG0ZBD2NLNkHlAyiTs7s?1NPJVBR-3u1Ivic6f#TM z!EmvJ_rUva_-j)^*e1}gPtZIh3XH$`0tR565xA1js2NMoyrk%_8(eI$n=m{lh=plw zuv7l4uTCW+>o5*DfR~`@Yor{CS*F$1XB}*a)O8sXD!pTWsF5|Rv~)jjw#$;Kd=Z;c@V3q z;u9kxlEKjy{>+y$PgVlbk|}*N9AZKF!>UC)n;8FY2Sw1h% zV=X&Cok-yhPn!t0U#iffSxGDcK`qV_L&)&R1~Xbs7m9NGI~<-zY5;${%MqI!K;9*GSmxG@yc2-YCFt~0oti3 zHUja!iKoFarw}U`={9KYj)UAQgST}J6gx)K;cQ0r8EH*q{dJJ0w1Lt~pLtto*%2oHhaC1G=J zV!}pHxV>byd9N(ADo$JHoHaN97=wokEfTN}o)0!wB(IZ@o7S;cRH^8%q2~uLWBG3a zRQC6(r)su7;!HV&FKBWb4;sB8bHqQS?rTL}2FYv~Qp$n1LH+s|Re|}4gNn!);~C+c zXj%$2vr5i+0Mg4z6YbzcPFf;gX_)iMCUJ{&0&Se;NNpS;ovbBsv#0Zm$tce@Ify1- z5QCsgeCN5RDOWhxSOpi16PAoDZ|9SHCzKis*cVZS$#cd&g3dZWaPSeLd87}RHHlb| z)hk9pCX4pBh+t+dl^`N04LVJXnr!prdm&NiyiO)xfsbQcOr1kG+XMzha*~Df=PQz@%UU9H zj_58?&j@+Qk4)a{Q;;$+%ZZ?#j*uHV3JisgYg;&EUk)={(sH&bl=p0YLCJ3ZSEn~J zl0?}dnv%G<;g;zp4XmRrWo@U(6Gd?{w~Z6FoGETI7w7wfLXBYh=txz^ed!-ny$d0HsbJ7FN2WF`q%d69X z>ALFp;Q;skZ`V}EE#(f=4Dm1-8h1yhXDQtQJwygdzyoHgn{ME5&F*GABx@Px%Wm_I z3%xuaV>cdt?*x6;a%8rQ7GV&VQPyRTNJ@KMs_JMl+7PQSH4!JwdvBvjkt9=_xFLIQMNIjEMW_;lOj{h23dEkIFIzQ>m3^CY>g}z zu>%?)uUBQQV{G%Z-1SHX(J(r}g?w*pBJxeIMW_pfcn<_iLwPU&7DEnvThcy2iHvz9 z?HaH^bJa1Acg;q7reQKSHqMvRJU{Dt+ybY)pn0K%=I4u1zC-VIaH6zaEy{FIBFq$E z5APOGo){sEk~aYGvp+2G6Zk6|b@-v#;-T3`Y6D`&7ZPC(i~$8H2>!Z}K~_601kT4H z(x%Tyv$F&UdoAWemoXQ!K01XKm1!f$&{;0pV(Z98Y20uJwQb$IWDR2r>lv4mE0!@9 z^9)>2S@Q#elBgue$|kCdnO{9k(YIl|#hVq4tCEL4Fjj@Ii~eF(mD+_th+H8`&kWFp zSsEm#r7X51z~(*$dl<`7>@^k>RU@}CRg_@-X{@|rEnBn~k~=#0FMy)TX_`7s04?NG znyBygMuCLq92zSg^=kkWHV0YldTI6Zgp!E`?jb=0Mh=Od+|TXgq#vO~e0A|CjUwx= z6bYpE$97@XK8gK(>r}W6(Ii>RVvUHO2^$Jv&#THta*DG{yO0Od?FgVAJ7?`7?#om0NNeo zzRTq!P2$r8A~&y19-p&Su950x?S&c8q8*j4G2$hJqYU|GvJDbCr63=C|A;3eN@fRL zxS-u;Xcx+mViYEOtmIRVx+sJ3N)IAsQ>BGX#!8di3d)bjK-tX60k=dv-0~Ki99)D} zEX4s`1)21ZsOlO!|8ZoDvVbU|$6t^-c zaD^60a*!+Qo%5>_`9!E90YFs?Mni!sgd7s0`_*X3BUZL%E*E$AQ>c)&N7$YMj=OG} zbpS!b7JZ9L0wN3ys#pI9S0pPjre?FMn^;pfLlZeCFa){9Zg@xzk-erP|C(hwo|09W zu5@Vt6RnPB086kyeXntTOu}G5nhg)d$ezR$j59^D-O4KM=46iuUIb>`5y+{yBXrKk z$Qx_R2dCJh701;=jwkwQHecmy_h#p7cWIZI&x5MqZwRQIG}f?lE=tOAwUA$wCFRSM z8^Ujkd^)58?$g%>Ld;OyPd_@)G3|I5o%D4OOa@kmeu+k>W_SLR8`uu5> zqIdkt+h7}wE%!l>pH1$n?=9BTYxwZ*_uiXp`B&TrJ^tRkK-j&8x1sN?)$&{T@Dcpe z@}K*#{G!L#oARCNr8m%Od42!+lQ>8B*7Cpl0>0o+kB{}`yZ+z3?pD7xZsXH?ru}by zSANptN8JN!`?VfDzJSaBYs&xids1GHPr3@}Hq>@)zg*R5jPZef)BAnu2l9&^FWrM` z{aRk1AFqk#^0%Z|u?GG>32Q;4QEMywf?`l@_KyJ3wB&yzBL;E#0R=W%m3)t(tbU@D_?nzQ5mgQ z$MG9DXY2p=Z>4}9UvcxF%F>^f*Wn%f8@_{_VN~gZIBv#6aTb+)t?{2Ic+;W`oFI~CTG8xm{_e>FQn;FR{l5N Nl(YJNb-g|<|3CjbQ;Yxr literal 212296 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 X`Dz?}o75?Nv_xU`_cb-WJ^lXy+;Xk5 diff --git a/private/racket-webview-qt.rkt b/private/racket-webview-qt.rkt index 1da7a2e..c68a7cd 100644 --- a/private/racket-webview-qt.rkt +++ b/private/racket-webview-qt.rkt @@ -40,6 +40,7 @@ rkt-webview-choose-dir rkt-webview-file-open rkt-webview-file-save + rkt-webview-messagebox rkt-webview-version ) @@ -226,6 +227,16 @@ ) ) +(define _rkt_messagetype_t + (_enum '(info = 1 + error = 2 + warning = 3 + yes-no = 4 + oke-cancel = 5 + ) + ) + ) + (define-cstruct _rkt_version_t ([qt-major _int] [qt-minor _int] @@ -357,15 +368,24 @@ ;RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir); (define-rktwebview rkt_webview_choose_dir - (_fun _int _string/utf-8 _string/utf-8 -> _rkt_data_t-pointer)) + (_fun _int _string/utf-8 _string/utf-8 -> _rkt_result_t)) ;RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); (define-rktwebview rkt_webview_file_open - (_fun _int _string/utf-8 _string/utf-8 _string/utf-8 -> _rkt_data_t-pointer)) + (_fun _int _string/utf-8 _string/utf-8 _string/utf-8 -> _rkt_result_t)) ;RKTWEBVIEW_QT_EXPORT rkt_js_result_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); (define-rktwebview rkt_webview_file_save - (_fun _int _string/utf-8 _string/utf-8 _string/utf-8 -> _rkt_data_t-pointer)) + (_fun _int _string/utf-8 _string/utf-8 _string/utf-8 -> _rkt_result_t)) + +;RKTWEBVIEW_QT_EXPORT result_t rkt_webview_message_box( +; rktwebview_t w, +; const char *title, +; const char *message, +; const char *submessage, +; rkt_messagetype_t type); +(define-rktwebview rkt_webview_message_box + (_fun _int _string/utf-8 _string/utf-8 _string/utf-8 _rkt_messagetype_t -> _rkt_result_t)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; @@ -405,20 +425,21 @@ (define (rkt-process-events handle) (if (> (queue-length (rkt-wv-evt-queue handle)) 0) - (let ((data (dequeue! (rkt-wv-evt-queue handle)))) - (if (symbol? data) - (if (eq? data 'quit) + (let ((evt (dequeue! (rkt-wv-evt-queue handle)))) + (if (symbol? evt) + (if (eq? evt 'quit) (begin (hash-remove! rkt-wv-store (rkt-wv-win handle)) 'quit) - (rkt-process-events handle)) - (let* ((e (union-ref (rkt_data_t-data data) 1)) - (evt (cast (rkt_evt_t-evt e) _pointer _string*/utf-8))) + (begin + (displayln (format "Unexpected data in event queue: ~a" evt)) + (rkt-process-events handle))) + (begin ((rkt-wv-callback handle) handle evt) - (rkt_webview_free_data data) (rkt-process-events handle))) ) - 'done)) + 'done) + ) (define (rkt-webview-new-context boilerplate-js server-cert) @@ -431,7 +452,11 @@ ) (let ((wv (rkt_webview_create context parent-win (λ (rkt-evt) - (enqueue! evt-queue rkt-evt))))) + (let* ((e (union-ref (rkt_data_t-data rkt-evt) 1)) + (evt (cast (rkt_evt_t-evt e) _pointer _string*/utf-8))) + (rkt_webview_free_data rkt-evt) ; Free event data ASAP + (enqueue! evt-queue evt) + ))))) (let ((handle (make-rkt-wv wv evt-queue evt-callback #t close-callback))) (thread (λ () (sleep 1) @@ -504,28 +529,34 @@ (rkt_webview_open_devtools (rkt-wv-win wv))) (define (rkt-webview-choose-dir wv title base-dir) - (let* ((d (rkt_webview_choose_dir (rkt-wv-win wv) title base-dir)) - (r (union-ref (rkt_data_t-data d) 2)) - (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) - (result (rkt_js_result_t-result r))) - (rkt_webview_free_data d) - (list result value))) + (rkt_webview_choose_dir (rkt-wv-win wv) title base-dir)) +; (let* ((d (rkt_webview_choose_dir (rkt-wv-win wv) title base-dir)) +; (r (union-ref (rkt_data_t-data d) 2)) +; (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) +; (result (rkt_js_result_t-result r))) +; (rkt_webview_free_data d) +; (list result value))) (define (rkt-webview-file-open wv title base-dir permitted-exts) - (let* ((d (rkt_webview_file_open (rkt-wv-win wv) title base-dir permitted-exts)) - (r (union-ref (rkt_data_t-data d) 2)) - (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) - (result (rkt_js_result_t-result r))) - (rkt_webview_free_data d) - (list result value))) + (rkt_webview_file_open (rkt-wv-win wv) title base-dir permitted-exts)) +; (let* ((d (rkt_webview_file_open (rkt-wv-win wv) title base-dir permitted-exts)) +; (r (union-ref (rkt_data_t-data d) 2)) +; (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) +; (result (rkt_js_result_t-result r))) +; (rkt_webview_free_data d) +; (list result value))) (define (rkt-webview-file-save wv title base-dir permitted-exts) - (let* ((d (rkt_webview_file_save (rkt-wv-win wv) title base-dir permitted-exts)) - (r (union-ref (rkt_data_t-data d) 2)) - (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) - (result (rkt_js_result_t-result r))) - (rkt_webview_free_data d) - (list result value))) + (rkt_webview_file_save (rkt-wv-win wv) title base-dir permitted-exts)) +; (let* ((d (rkt_webview_file_save (rkt-wv-win wv) title base-dir permitted-exts)) +; (r (union-ref (rkt_data_t-data d) 2)) +; (value (cast (rkt_js_result_t-value r) _pointer _string*/utf-8)) +; (result (rkt_js_result_t-result r))) +; (rkt_webview_free_data d) +; (list result value))) + +(define (rkt-webview-messagebox wv title message submessage type) + (rkt_webview_message_box (rkt-wv-win wv) title message submessage type)) (define (rkt-webview-version) (let ((d (rkt_webview_version))) diff --git a/private/racket-webview.rkt b/private/racket-webview.rkt index 4fa2fa2..3a4e6d4 100644 --- a/private/racket-webview.rkt +++ b/private/racket-webview.rkt @@ -48,6 +48,8 @@ webview-window-state webview-set-title! + webview-messagebox + webview-choose-dir webview-file-open webview-file-save @@ -61,6 +63,7 @@ wv-permitted-exts? wv-permitted-exts-exts? wv-list-of-permitted-exts? + webview-filter->exts webview-bind! webview-unbind! @@ -101,6 +104,7 @@ ;webview-del-attr! webview-standard-file-getter + webview-default-boilerplate-js webview-version @@ -116,9 +120,14 @@ (define-runtime-path js-path "../js") -(define (default-boilerplate-js) +(define (webview-default-boilerplate-js . custom-js) (let ((file (build-path js-path "boilerplate.js"))) - (file->string file))) + (let ((bjs (file->string file))) + (let ((js (string-append bjs + (if (null? custom-js) + "" + ((car custom-js)))))) + js)))) (define-struct wv-context ([context #:mutable] @@ -346,7 +355,7 @@ (map (λ (e) (format "*.~a" e)) (wv-permitted-exts-exts pe)))) (string-join (map mef (if (list? list-of-pe) list-of-pe (list list-of-pe))) ";;")) -(define (filter->exts str) +(define (webview-filter->exts str) (let ((re #px"^([^ ]+)\\s+[(]([^)]+)[)]")) (let ((m (regexp-match re str))) (cond ((eq? m #f) @@ -401,7 +410,7 @@ ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (define/contract (webview-new-context file-getter - #:boilerplate-js [bj (default-boilerplate-js)]) + #:boilerplate-js [bj (webview-default-boilerplate-js)]) (->* (procedure?) (#:boilerplate-js string?) wv-context?) (let* ((h (make-wv-context 0 0 file-getter #f #f 0 (make-lru 250 #:cmp eq?) @@ -527,48 +536,58 @@ (def-win-func webview-present rkt-webview-present) (def-win-func webview-window-state rkt-webview-window-state) +(define/contract (webview-messagebox wv type title message #:sub [submessage ""]) + (->* (wv-win? symbol? string? string?) (#:sub string?) symbol?) + (rkt-webview-messagebox (wv-win-handle wv) title message submessage type)) + (define/contract (webview-choose-dir wv title base-dir) - (-> wv-win? string? (or/c path? string?) (or/c hash? boolean?)) + (-> wv-win? string? (or/c path? string?) symbol?) (let ((bd (if (path? base-dir) (path->string base-dir) base-dir))) (let ((res (rkt-webview-choose-dir (wv-win-handle wv) title bd))) - (if (eq? res #f) - #f - (cond ((eq? (car res) 'oke) - (let ((r (make-hash (hash->list (fromJson (cadr res)))))) - (hash-set! r 'state (string->symbol (hash-ref r 'state))) - r)) - (else #f)) - ) - ) + res) ) ) +;(if (eq? res #f) +; #f +; (cond ((eq? (car res) 'oke) +; (let ((r (make-hash (hash->list (fromJson (cadr res)))))) +; (hash-set! r 'state (string->symbol (hash-ref r 'state))) +; r)) +; (else #f)) +; ) +; ) +; ) +; ) + (define (file-open-save wv title base-dir permitted-exts open-save-f) (let* ((bd (if (path? base-dir) (path->string base-dir) base-dir)) (ext-filter (make-exts-filter permitted-exts))) + (displayln ext-filter); (let ((res (open-save-f (wv-win-handle wv) title bd ext-filter))) - (if (eq? res #f) - #f - (cond ((eq? (car res) 'oke) - (let* ((h (make-hash (hash->list (fromJson (cadr res)))))) - (hash-set! h 'state (string->symbol (hash-ref h 'state))) - (hash-set! h 'used-filter (filter->exts (hash-ref h 'used-filter))) - h)) - (else #f)) - ) - ) - ) - ) + res))) +; (if (eq? res #f) +; #f +; (cond ((eq? (car res) 'oke) +; (let* ((h (make-hash (hash->list (fromJson (cadr res)))))) +; (hash-set! h 'state (string->symbol (hash-ref h 'state))) +; (hash-set! h 'used-filter (filter->exts (hash-ref h 'used-filter))) +; h)) +; (else #f)) +; ) +; ) +; ) +; ) (define/contract (webview-file-open wv title base-dir permitted-exts) (-> wv-win? string? (or/c path? string?) (or/c wv-permitted-exts? wv-list-of-permitted-exts?) - (or/c hash? boolean?)) + symbol?) (file-open-save wv title base-dir permitted-exts rkt-webview-file-open)) (define/contract (webview-file-save wv title base-dir permitted-exts) (-> wv-win? string? (or/c path? string?) (or/c wv-permitted-exts? wv-list-of-permitted-exts?) - (or/c hash? boolean?)) + symbol?) (file-open-save wv title base-dir permitted-exts rkt-webview-file-save)) @@ -655,9 +674,10 @@ (define/contract (webview-set-innerHTML! wv id html) (-> wv-win? symbol? (or/c string? xexpr?) symbol?) (if (string? html) - (webview-run-js wv - (with-id id el - ("el.innerHTML = '~a';" (esc-quote html)))) + (let ((r (webview-call-js wv + (with-id id el + ("el.innerHTML = '~a'; return true;" (esc-quote html)))))) + (if r 'oke 'failed)) (webview-set-innerHTML! wv id (xexpr->string html)) ) ) diff --git a/rktwebview_qt/main.cpp b/rktwebview_qt/main.cpp index 759d260..0dbe804 100644 --- a/rktwebview_qt/main.cpp +++ b/rktwebview_qt/main.cpp @@ -57,6 +57,10 @@ int main(int argc, char *argv[]) rkt_webview_free_data(r); } + if (i == 7) { + result_t r = rkt_webview_message_box(wv1, "This is a title", "This is my message", "This is my submessage", rkt_messagetype_t::yes_no); + } + if (i == 10) { wv2 = rkt_webview_create(context, wv1, eventCb); diff --git a/rktwebview_qt/rktutils.cpp b/rktwebview_qt/rktutils.cpp index 58cff39..4ee17f6 100644 --- a/rktwebview_qt/rktutils.cpp +++ b/rktwebview_qt/rktutils.cpp @@ -25,3 +25,5 @@ QHash mkEvent() QHash h; return h; } + +int EventContainer::evt_count = 0; diff --git a/rktwebview_qt/rktutils.h b/rktwebview_qt/rktutils.h index 013645b..402bf34 100644 --- a/rktwebview_qt/rktutils.h +++ b/rktwebview_qt/rktutils.h @@ -7,9 +7,12 @@ class EventContainer : public QHash { +private: + static int evt_count; public: EventContainer(const QString &evt) { this->insert("event", evt); + this->insert("evt-id", ++evt_count); } }; diff --git a/rktwebview_qt/rktwebview.cpp b/rktwebview_qt/rktwebview.cpp index 6934420..3fe9146 100644 --- a/rktwebview_qt/rktwebview.cpp +++ b/rktwebview_qt/rktwebview.cpp @@ -175,19 +175,19 @@ result_t rkt_webview_set_title(rktwebview_t wv, const char *title) return handler->rktWindowSetTitle(wv, title); } -rkt_data_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir) +result_t rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir) { rkt_webview_init(); return handler->rktChooseDir(w, title, base_dir); } -rkt_data_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +result_t rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) { rkt_webview_init(); return handler->rktFileOpen(w, title, base_dir, permitted_exts); } -rkt_data_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +result_t rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) { rkt_webview_init(); return handler->rktFileSave(w, title, base_dir, permitted_exts); @@ -226,3 +226,9 @@ rkt_data_t *rkt_webview_version() d->data.version.qt_patch = QT_VERSION_PATCH; return d; } + +result_t rkt_webview_message_box(rktwebview_t w, const char *title, const char *message, const char *submessage, rkt_messagetype_t type) +{ + rkt_webview_init(); + return handler->rktMessageBox(w, title, message, submessage, type); +} diff --git a/rktwebview_qt/rktwebview.h b/rktwebview_qt/rktwebview.h index 1fad84f..50c3cbc 100644 --- a/rktwebview_qt/rktwebview.h +++ b/rktwebview_qt/rktwebview.h @@ -54,6 +54,14 @@ typedef enum { maximized_active = 18 } window_state_t; +typedef enum { + info = 1, + error = 2, + warning = 3, + yes_no = 4, + oke_cancel = 5 +} rkt_messagetype_t; + typedef struct { int qt_major; int qt_minor; @@ -111,9 +119,11 @@ RKTWEBVIEW_QT_EXPORT result_t rkt_webview_maximize(rktwebview_t w); RKTWEBVIEW_QT_EXPORT result_t rkt_webview_minimize(rktwebview_t w); RKTWEBVIEW_QT_EXPORT window_state_t rkt_webview_window_state(rktwebview_t w); -RKTWEBVIEW_QT_EXPORT rkt_data_t *rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir); -RKTWEBVIEW_QT_EXPORT rkt_data_t *rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); -RKTWEBVIEW_QT_EXPORT rkt_data_t *rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); +RKTWEBVIEW_QT_EXPORT result_t rkt_webview_choose_dir(rktwebview_t w, const char *title, const char *base_dir); +RKTWEBVIEW_QT_EXPORT result_t rkt_webview_file_open(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); +RKTWEBVIEW_QT_EXPORT result_t rkt_webview_file_save(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); + +RKTWEBVIEW_QT_EXPORT result_t rkt_webview_message_box(rktwebview_t w, const char *title, const char *message, const char *submessage, rkt_messagetype_t type); } diff --git a/rktwebview_qt/rktwebview_qt.cpp b/rktwebview_qt/rktwebview_qt.cpp index f7f0cbe..1f95674 100644 --- a/rktwebview_qt/rktwebview_qt.cpp +++ b/rktwebview_qt/rktwebview_qt.cpp @@ -15,6 +15,8 @@ #include #include "command.h" #include +#include +#include static inline char *copyString(const char *s) { @@ -425,7 +427,6 @@ rkt_wv_context_t Rktwebview_qt::newContext(const char *boilerplate_js, const cha QWebEngineScriptCollection *c = p->scripts(); QList l = c->toList(); - printf("%d\n", l.size()); _contexts[_context_counter] = p; @@ -595,85 +596,72 @@ window_state_t Rktwebview_qt::rktWindowState(rktwebview_t w) return ws; } -rkt_data_t *Rktwebview_qt::rktChooseDir(rktwebview_t w, const char *title, const char *base_dir) +result_t Rktwebview_qt::fileDlg(rktwebview_t w, const char *title, const char *base, const char *filters,QFileDialog::FileMode mode, QFileDialog::AcceptMode am, QString evt_ok, QString evt_cancel) { - Command c(COMMAND_CHOOSE_DIR); - c.args.push_back(w); + if (_views.contains(w)) { + WebviewWindow *win = _views[w]; - QString t(title); - c.args.push_back(t); + QFileDialog *dlg = new QFileDialog(win, title, base); + dlg->setFileMode(mode); + dlg->setAcceptMode(am); - QString dir(base_dir); - c.args.push_back(dir); + QString pe = filters; + QStringList p = pe.split(";;"); - postCommand(&c); + dlg->setNameFilters(p); + dlg->setProperty("rktwebview", w); + dlg->setProperty("evt-ok", evt_ok); + dlg->setProperty("evt-cancel", evt_cancel); - while(!c.done) { doEvents(); } + connect(dlg, &QFileDialog::accepted, this, [this]() { + QFileDialog *dlg = static_cast(sender()); - bool oke = c.js_result_ok; + rktwebview_t w = dlg->property("rktwebview").toInt(); + QString evt_ok = dlg->property("evt-ok").toString(); - rkt_data_t *r = static_cast(malloc(sizeof(rkt_js_result_t))); - r->kind = js_result; - r->data.js_result.result = c.js_result_ok ? result_t::oke : result_t::choose_dir_failed; - r->data.js_result.value = copyString(c.result.toString().toUtf8()); + QStringList l = dlg->selectedFiles(); + QString file; + if (l.size() > 0) { + file = dlg->selectedFiles().first(); + } - return r; + EventContainer e(evt_ok); + e["choosen"] = file; + e["filter"] = dlg->selectedNameFilter(); + e["dir"] = dlg->directory().path(); + + this->triggerEvent(w, e); + }); + + connect(dlg, &QDialog::rejected, this, [this]() { + QFileDialog *dlg = static_cast(sender()); + + rktwebview_t w = dlg->property("rktwebview").toInt(); + QString evt_cancel = dlg->property("evt-cancel").toString(); + + EventContainer e(evt_cancel); + this->triggerEvent(w, e); + }); + dlg->show(); + return result_t::oke; + } else { + return result_t::failed; + } } -rkt_data_t *Rktwebview_qt::rktFileOpen(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +result_t Rktwebview_qt::rktChooseDir(rktwebview_t w, const char *title, const char *base_dir) { - Command c(COMMAND_FILE_OPEN); - c.args.push_back(w); - - QString t(title); - c.args.push_back(t); - - QString dir(base_dir); - c.args.push_back(dir); - - QString exts(permitted_exts); - c.args.push_back(exts); - - postCommand(&c); - - while(!c.done) { doEvents(); } - - bool oke = c.js_result_ok; - - rkt_data_t *r = static_cast(malloc(sizeof(rkt_data_t))); - r->kind = js_result; - r->data.js_result.result = c.js_result_ok ? result_t::oke : result_t::choose_dir_failed; - r->data.js_result.value = copyString(c.result.toString().toUtf8()); - - return r; + return fileDlg(w, title, base_dir, "", QFileDialog::Directory, QFileDialog::AcceptOpen, "choose-dir-ok", "choose-dir-cancel"); } -rkt_data_t *Rktwebview_qt::rktFileSave(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +result_t Rktwebview_qt::rktFileOpen(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) { - Command c(COMMAND_FILE_SAVE); - c.args.push_back(w); + return fileDlg(w, title, base_dir, permitted_exts, QFileDialog::ExistingFile, QFileDialog::AcceptOpen, "file-open-ok", "file-open-cancel"); +} - QString t(title); - c.args.push_back(t); - - QString dir(base_dir); - c.args.push_back(dir); - - QString exts(permitted_exts); - c.args.push_back(exts); - - postCommand(&c); - - while(!c.done) { doEvents(); } - - bool oke = c.js_result_ok; - - rkt_data_t *r = static_cast(malloc(sizeof(rkt_data_t))); - r->kind = js_result; - r->data.js_result.result = c.js_result_ok ? result_t::oke : result_t::choose_dir_failed; - r->data.js_result.value = copyString(c.result.toString().toUtf8()); - - return r; +result_t Rktwebview_qt::rktFileSave(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts) +{ + return fileDlg(w, title, base_dir, permitted_exts, QFileDialog::AnyFile, QFileDialog::AcceptSave, "file-save-ok", "file-save-cancel"); } result_t Rktwebview_qt::rktWindowSetTitle(rktwebview_t wv, const char *title) @@ -687,6 +675,67 @@ result_t Rktwebview_qt::rktWindowSetTitle(rktwebview_t wv, const char *title) return r ? result_t::oke : result_t::failed; } +result_t Rktwebview_qt::rktMessageBox(rktwebview_t w, const char *title, const char *message, const char *submessage, rkt_messagetype_t type) +{ + if (_views.contains(w)) { + + WebviewWindow *win = _views[w]; + QMessageBox *msg = new QMessageBox(win); + + auto prepButton = [msg, w, this](QMessageBox::StandardButton b, QString event) { + msg->addButton(b); + QAbstractButton *btn = msg->button(b); + QVariant v = QVariant::fromValue(msg); + btn->setProperty("messagebox", v); + btn->setProperty("event", event); + btn->setProperty("rktwebview", w); + connect(btn, &QAbstractButton::clicked, this, [this]() { + QAbstractButton *btn = static_cast(sender()); + QMessageBox *mb = btn->property("messagebox").value(); + rktwebview_t w = btn->property("rktwebview").toInt(); + + EventContainer e(btn->property("event").toString()); + this->triggerEvent(w, e); + + mb->close(); + }); + }; + + msg->setWindowTitle(title); + + QString m = QString("

") + message + "

"; + m += QString::asprintf("

%s

", submessage); + msg->setInformativeText(m); + + QMessageBox::Icon icn; + + if (type == rkt_messagetype_t::error) { + icn = QMessageBox::Icon::Critical; + prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); + } else if (type == rkt_messagetype_t::warning) { + icn = QMessageBox::Icon::Warning; + prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); + } else if (type == rkt_messagetype_t::yes_no || type == rkt_messagetype_t::oke_cancel) { + icn = QMessageBox::Icon::Question; + if (type == rkt_messagetype_t::yes_no) { + prepButton(QMessageBox::StandardButton::No, "msgbox-no"); + prepButton(QMessageBox::StandardButton::Yes, "msgbox-yes"); + } else { + prepButton(QMessageBox::StandardButton::Cancel, "msgbox-cancel"); + prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); + } + } else { // informatio + icn = QMessageBox::Icon::Information; + prepButton(QMessageBox::StandardButton::Ok, "msgbox-ok"); + } + msg->setIcon(icn); + msg->show(); + return result_t::oke; + } else { + return result_t::failed; + } +} + result_t Rktwebview_qt::doWindow(rktwebview_t w, int cmd, result_t on_error) { Command c(cmd); diff --git a/rktwebview_qt/rktwebview_qt.h b/rktwebview_qt/rktwebview_qt.h index 9c0ded7..30e4c6a 100644 --- a/rktwebview_qt/rktwebview_qt.h +++ b/rktwebview_qt/rktwebview_qt.h @@ -13,6 +13,7 @@ #include #include #include +#include class WebViewQt; @@ -57,7 +58,8 @@ private: void handleCommandEvent(CommandEvent *e); void processCommand(Command *cmd); - // QObject interface + result_t fileDlg(rktwebview_t w, const char *title, const char *base, const char *filters, QFileDialog::FileMode mode, QFileDialog::AcceptMode am, QString evt_ok, QString evt_cancel); + protected: void customEvent(QEvent *event); @@ -89,11 +91,12 @@ public: result_t rktShowNormalWindow(rktwebview_t w); window_state_t rktWindowState(rktwebview_t w); - rkt_data_t *rktChooseDir(rktwebview_t w, const char *title, const char *base_dir); - rkt_data_t *rktFileOpen(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); - rkt_data_t *rktFileSave(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); + result_t rktChooseDir(rktwebview_t w, const char *title, const char *base_dir); + result_t rktFileOpen(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); + result_t rktFileSave(rktwebview_t w, const char *title, const char *base_dir, const char *permitted_exts); result_t rktWindowSetTitle(rktwebview_t wv, const char *title); + result_t rktMessageBox(rktwebview_t w, const char *title, const char *message, const char *submessage, rkt_messagetype_t type); bool rktValid(rktwebview_t wv);