From 3ed6e7a38bfc96bac6eca30e743a8e5ab7afa1f6 Mon Sep 17 00:00:00 2001 From: Manuel de la Torre Date: Mon, 20 Mar 2023 11:35:45 -0600 Subject: [PATCH] Improve README, fix eslint, add recap action --- .eslintrc | 3 +++ .github/workflows/recap.yml | 14 ++++++++++++++ README.md | 22 +++++++++++----------- assets/example.png | Bin 0 -> 72516 bytes dist/index.js | 12 ++++++++---- src/entrypoint.js | 2 +- src/fetchers/getGptRecap/index.js | 8 ++++++-- src/i18n/locales/en-US/execution.json | 2 ++ 8 files changed, 45 insertions(+), 18 deletions(-) create mode 100644 .github/workflows/recap.yml create mode 100644 assets/example.png diff --git a/.eslintrc b/.eslintrc index b855931..a2b3e11 100644 --- a/.eslintrc +++ b/.eslintrc @@ -11,6 +11,9 @@ "ecmaVersion": "latest", "sourceType": "module" }, + "ignorePatterns": [ + "dist/**" + ], "globals": { "Promise": "readonly" }, diff --git a/.github/workflows/recap.yml b/.github/workflows/recap.yml new file mode 100644 index 0000000..1ec1fbe --- /dev/null +++ b/.github/workflows/recap.yml @@ -0,0 +1,14 @@ +name: Pull Request Recap + +on: + pull_request: + types: [opened] + +jobs: + stats: + runs-on: ubuntu-latest + steps: + - name: Recap changes + uses: flowwer-dev/recap@dev + with: + openai-apikey: ${{ secrets.OPENAI_APIKEY }} diff --git a/README.md b/README.md index 22c2723..27ebb03 100644 --- a/README.md +++ b/README.md @@ -2,22 +2,22 @@ [![CI](https://github.com/flowwer-dev/recap/workflows/Tests/badge.svg)](https://github.com/flowwer-dev/recap/actions?query=workflow%3ATests) -Tired of writing long pull request descriptions? or worst, not writing them at all? +Tired of writing long pull request descriptions? or worse, not writing them at all? -This Github action will summarize the most important changes in a pull request using [GPT](https://openai.com/blog/chatgpt). +This Github action will summarize the most critical changes in a pull request using [GPT](https://openai.com/blog/chatgpt). The objective of this action is to: * Reduce the time spent writing the pull request description. * Help developers understand the changes before reviewing them. -Running this action will add a comment to the pull request with a summary of the changes. +Running this action will add a comment to the pull request summarizing the changes. [For example](https://github.com/flowwer-dev/recap/pull/1#issuecomment-1476682437): -![](/assets/exmaple.png) +![](/assets/example.png) ## Privacy * **No repository data is collected**, stored, or distributed by this GitHub action. This action is **state-less**. -* [Minimal data](/src/services/telemetry/sendStart.js) is sent to Mixpanel in order to improve this action. However, you can opt-out using the `telemetry` option. +* [Minimal data](/src/services/telemetry/sendStart.js) is sent to Mixpanel to improve this action. However, you can opt out using the `telemetry` option. ## Usage @@ -70,7 +70,7 @@ This config will: 1. Create an account on [OpenAI's developers site](https://platform.openai.com/docs/api-reference). 2. Go to Config > [View API Keys](https://platform.openai.com/account/api-keys). -3. Press the button `Create new secret key` and copy the value. +3. Press the `Create new secret key` button and copy the value. 4. Voilà! ## Troubleshooting @@ -96,8 +96,8 @@ This config will:
I'm a sponsor but still getting the error "...is a premium feature, available to sponsors". - 1. Check the sponsorship comes from the account that owns the configured repos (usually an organization). - 2. Make sure the sponsorship is configured as `public`, otherwise, the action cannot access the sponsorship information. If you prefer to keep it `private`, please reach me out to make it work for you that way 😉. + 1. Check the sponsorship comes from the account that owns the configured repository (usually an organization). + 2. Ensure the sponsorship is configured as `public`; otherwise, the action cannot access the sponsorship information. If you prefer to keep it `private`, please reach out to make it work for you that way 😉.
## Premium features ✨ @@ -105,16 +105,16 @@ This config will: This action offers some premium features only for sponsors: * Disabling telemetry. -* More comming soon. +* More coming soon. The **suggested sponsorship is $20 USD / month**. However, if it's not possible for you or your organization, please consider supporting it with any amount you can. Even a one-time sponsorship will enable the Premium features and encourage the progress of this project. -Beign a sponsor will also give you access to the premium features in all my [other projects](#related-projects). +Being a sponsor will also give you access to the premium features in all my [other projects](#related-projects). Thanks for your support! 💙 -## Related projects +## Related projects 🔥 * **[Pull Request Stats](https://github.com/flowwer-dev/pull-request-stats)**: Github action to print relevant stats about Pull Request **reviewers**. diff --git a/assets/example.png b/assets/example.png new file mode 100644 index 0000000000000000000000000000000000000000..602fbd466c6c423a4648dcab23180ff002065690 GIT binary patch literal 72516 zcmb4rWmH_t5-t#u;2PXL!QI_mf_rcX?t^P^cefzH-GT)jEO_u>gS!nbZ*t|_lbrW{ zJl38yJ$vu2?yl~tF8P{pWko4u1bhT2C@5qZY4P_^P%q-3prD!HUP11#DKS<;LBXO} ziHRv&i%E&u+t@p)IvAOlNtxN1Ia!&!mlB17;*O41*S928efb=X_Kj;2|ztvi$^D<11ob^&DYNs2UW^a&|yD6%~x;_lW&+o zJz@3N>HEWq+z-Of8Q;M7@!4dNZea8_LTTdWpq|!^r^mB~8A{N5ia#zb1*F)_qGsO0o6KK5tfEv|OdqI;E_KqUEY@ zF1v(PGg{U6qdl9oTEU-DK;2|N$GY1zg$hw(XPu(0Bt zo8T!jj}W0hjs%^fYm^A~X_n@siar`LG`|_35(qKKLUI{oc6|WfxoKvn!)+w+;2`2h zQ88&Wo{0|nX*SXnq8T>1_{DB44=OAr4nya5<>GHCCz2!{=?V5>r9}@3cL#eMVljWf z6ptfCwer^e@VNv5f7dd9x5zU8=EvIMYR|jdC#Yt%k57XKyOYeK#m^L{6Jg081Br~818WCAU(bIec^Yoq|wZAz&@&h;Pcg9w@>OqK+#mNh(X=PsQz<- zHiyO?49N(TPb;7e&f=Bs!{+snP=fW)bpi>sA82J$aDB`<*D2R=)qhZbjnT=_$MP^>Ov*T7+$@RF&miQJr}P{ z0c-3{%Y7>RaY~&J?JDYL*M-z1Q(n<{7lTgNUMSjuf+=K#@W?;ews{60fs5UIX|zyT@MU=@DniqsYuT_Z9a84d1m+6A$WI#fyo1%Mnh0 z3sA=iRE1zM;Oaeqrq6g4hWkfQZ?~or{&+db0azDcN3{Yq@7-bWeE;a_bMazk6{;og z`NcC80I}a>b_AjzG|aSQ%oP-%Xdz`dDCkftC|F1d8uG!1d?30cAq46*5zmA9 z@6#7?c`yE3hGzQpqKK-Pj11&k)x^on%+A@;-lY+r>ls37)=EvwMN2`R*TmkI(a6-^ z*o+Zi>+q`z6hD9$QnWR5F(L)n+Sobs0tCqa^#(7b{OdLoIqAP%aj_O4*HTa>6|;9T zBjsddW@IK8L?9(4<##eQ=Y20O`Jd{LUjpQoE-ntdOib?X?u_nijP_0zOe{P+JWR~2 zOsuR7kT)2dJ?vbJ01S4{6#pjjUpnGu&L&P)4lY*qcBH@P8X4QWx(JYy|7z&3zkm1B z3}E%Ymh7DWGc3penSMQCVqs)v`inNCD*vy$yvkMpGaGGjD_aPAAZ-Y;F|+ai>-~Q` z`Cp5FtEu(BnmjD5f3NwsCx6ydcQ$hpv$usb=_2^QnfXuUzd!s>MSiAVBmWyG{>|op z-G%U35P_fRuQ?M$NDpGsg@O`>k`WhC13({UzxIC9j{_v3bb;%*Mw!aIT=7b!mQF?~ zfD6padm9nx{}%fRffEh(4I1oT2L(}~^hrnPonIHcmkp!)kUl>A197f{S6e+>{VD@j zmxsN%3FW2Sm9%9(dE6jV_`=CuBVGPtE?+zpeB9qJVHa{VHeU4(%&zDC+u6& zTw<>jc^FFJ->%6BsF$Vj_AV>W>Ez$r>34a(?ooq&p6j*8h z->w{DXoSHMU=CH{-#Z2=3pbDpL*rE{;?T+c);y#)O0oXcG!pkWH`47lXH<$=+#4Ve z9g8ubPV=V7qtL$0`*f}I=Kg-L96C)S3X}Z{RV*4L3}k9v3-UeeN|{W=R9KiMV|E&%n_| zFgyuZPA$anY!rWt82TDEZ|8Wmi^kpVXG&(-S$pk=my~@b4}i1HhgQ}7$2O2cCwdB} zVpdB6t2%G1>%Ch`m^6u@p-cjO`f{6>=CNf?EU{n$E(_iQfe}p{-XGlISBHT-R{M@A zwox`4iN)8X*Xkleyxeu7lD$kz6y&C*t^INXb{njc>_JQ_&Q_JhCX#~88vq6*M_Hl8}b z#ZFpI{cRSdNi)#>Uj36Ql5Hn71j-)D;X;w4dUhJgGr?ZCV zdLkKVRvRRn0Aq%#^xI4)3nc2?PYhD;LmMzaEULw4i3D>UkqeDGku0%uje>7t-Dvgx zSWo~1IAKJiw}u6M;R5)mdm6&VP3rP#plB-DBD-Zb?}@&Yleioj&)Q_a|Mc z_MNwqRbFJTRJdkX=tJP0VFvh}rm|`rHaq`Z-KkLQ=ne5S+nm8znDL&xOSEcq!JzJ- z*Jhi8@x+l*YRpPG{O4ytl98_GCp!JFE@uEeihbsi@m9$1Rm#Y;bTQi?1%~F$NJIEF&&cSuNB($!w|BRK6jTI*bkI{E@lkCFsvvC zq5{9q`X+?0l#pS^?2`!j>S0hyqrHv#fe{%a-c6q+D$HpiUp_Ri-I!(q4PgHBKe9=#) z6L})6rh{nKSVA(SYOth)XDiBZ9c@ofcT+Q&=cnC4%3E9Qs`4Zx*^R@R#s}s0$^#HR z@s={1?2PY!3QgP@W^c+OsbP;T3>@Ce<8vOI#p|KhWTS`kJ$CG3A1J+>O8-H*U|O(r zx-gz1^op+%>z!6jp3QR0BzszAH11p)vytf8Tu7^#M8unTwbJ+L>Do*N?Qh+Qz05a0 ziV-Jnet6g%N~AH{8Oxq!lyoro>LPQ>i#8JH9su(aw))PQLE199Uy z4})SU6BmI#$dd2WoTX9Adn^#A=tal((FECk<#y`ThYRRX@V?U83xYrMrdE&(&gvoA`At;i8t~mrgO9L zsCD64X!Oa{>u_4IRV==c0_ugPO0~Xk%s4;k>~PxeV`(;Xdhy@M{B|Ms4I>sU#@Rv% z)n!eW^4o=FQTM`M08qeLT(L%k~ zoN6iS0L4m+?@!wW2{k~WaGL8|Skn}n1*&?_WKDYQO-{e4digKw^W&fWN8|abO~>Qu zM!nN2Op9sj5QE-B z<}Ut^*%Rnha!%XDU>V`XeiQ#475&&)fiEHm7f$_j*?!LG{TK8@-2j`=T1Qe!fT2mscZ(NPzr>;R)z%txYRJpt4#NR!3QW z+zApfX^B#HlB7cBh+L&X$`88KkyMZn+n!g~tf6cw9h0hG2D!6e?$+Q7aH)Dpr(;zP zx3Bz)*Yy$FCtCckJ_df%GX%t2ZM>g%n;0@V2(Mm9bqd^FCgOlwmb!PPC=RE}f!Idja!&@kZ~-rY`MpAMGgea>V@Pm)@SuUg z+3y5I;69i!F6zu zm=~BAYSsGV{J|5oPBOh2sgIATdYvwlHYXF6&4)`Js&zY~MVQx=%yYwr&K7cwI<7w= zvxk$~JRb2EZpUYpi==LUe4I_b^b|B1h$6F4%ueXq8E2V$$tr&9<$e@rv+ofyheG@f zD-vhOFBC=k=#>Ix&~d1BnQE*ce&AiKjaL18fkT<1I=7rc>GZ`yp%%Z~3hmmN8Pw;Z zDQBJ9kH|6!?CA@gWlTTO>cZ|vIJ3||&IIMJlNERCGqA8Hu8$LyL zSRRiY+z|>E5|O`T$M2@4^Y^kP^2&KnY}q2{JAuuVW?h9YMXmRjnE@wC%Dy5V+yW6` zSGEO|0cpX=?K3Y@mJ!ohqqIG!1&amWi#K!8)^%42NDcH}}>B zMq-9>3UW;b)WVT$em(7G5sK2eyjsozmX)Jo_$9i}(H&a6>9QMrGV+YR_$!eoot?Gv zfU>R1Pd7a7oDQGSMGw1!?#;U>WfF(^PF_b@$QR~dZ^o+;%%vFd&ED<-_(n)Ml}V!H zKEVxUab!k4PzpQfSn2sRojjB!l`G45yOM-`2pfEFHY}UzcBJ4G1{_v@A%1R_y$grD zy3cWddj_~Yrvg&Spm}S$wBw8OQfr7llEQt^S0kMLq7Dp`+KeX^5lyrh7p%@aI-Mo+ zSug0PjOLsr`{sT5wOpmGD*fl1@RjFXRZIkL5yN{Y@s7;!%lTFO^D20B&UF4KRL~Cd z(nskK>pYDP$*CeuA*;F8w#~t0U@c;MDZ`R0>(ZjzF}2494*Qa95~Fn=MW-<7mYRJg zpBRxcjs=}sL(3Zm71=6-P8-igVt&BeA8O3hbCQA;cD=;|y&lqHB+d3q^x?@ypSLSV z<*VmW6kj6Xa1a|rq4zaT6xhCY9^Jqu}NhYx<&acTPDe-RE z{}fsd*Sw~3t|gr(cd6MXfg%(Y&&ZPV>kaCb;`5$YYr&j>^tM3xJnbDQ%?4D?4HO7= zZgHLVbk+wgucyNVr4snLiM>XATI*kKacf)%X4bRj@yjoGf7$<@H(*YCp_r@_{_<<} z>Lt~*mFf8F5t&4)R0P^G`;``>tFD4Mx%dsLmt;LPQR(%v3lZw0Y$g|XjTy&Z-@H?q z;whk^@qtF>Q>7*+Z6w0_QHxmt%zIq5K;!^HHa7aaP5HSU*CtA z&Z8PntLK0Tx+rg)$7ou7L}{7Yo4n{rr*|tVPP6h=ET4PZ@X0iKM&hpTzy}I=gVVH# z$UdVh`;`m*6ynG|>XrPJO7<5GC87So4C*Ix_nb^JshW$hBcBb&tDNKvFQD#)J6zmQ zNoKoy=kpa1K^}eAn?oH!+dTCavTZ2}MSiQq+gj*?k!O}4!d}%rjst->{ezCkVg?Os zN_)>bOnW~o>mf#ilDUtOEqyPoT7`|EkoO7E-ePU#8YYM#vP)|UAXM^v{&~Uoy?q*S z_R>gx(Cbn6dq4HEId(%SpVOS77eG`x!*`_i7ZT6C;F(%mIjf)T@xoa>q#8!pu|{IA zhW&jzwhovEMsl6~xC&+{0S_d+{A-VhLu)?*fGE+{@=dC(lD3%G;RnSAply6wyg4}j z;QW+oz3-RQMCy(&Vo8y5Na5_b zi&<9c-8H{6IUY5P4y#36Hj#QtR3E_}`Kms$Re?Y|UtuLQ6jPaLcDwOu+iO_OYLw>b zf?c4GkU#7+uUo9e7mT3#s*fQ!-V9Ab4rh#O$r0(aP;`Ps=q^{U-NAskwAp&@s*>7; zEigmNZ*xsvcqeY#g zXxYGhp1JFG+V<^MpAtTB_%6KMt7wf{*obrnxEg(@&1})s+7!nXBhXfP(KEbTznPTK2(AA5WHoWs_g19IcI87AO-(b>vSYNao}+*WT#0Np=R|A6 z)J5WdUF0=*=mwzZfka;?SvnPAr4pThIK`EFa%l4GUBgxQ=y)E3E>{sKnQ)AlkKGg! z&R92(ov7|~SP%S6@0FhR1*qFw&if%{XVN?1e$t#fW+Gz?{Q+F-|JC;~<8Tg-@WL9P zV`;On(e>R9mnqzHA$E28!S~iNLdH{Gf~;qQloSzbHsmY9V3mO9>tXZHoZCWpJfhf4 zcXIgbcGLo%UFPCYqT)tyKgH(X@&{bASAcUXbw@qDn{3{%(tDkg@ROpww~Vsas7AE8 zZ>pr8K{flfWU(NFMGZ(LKm7Le$lFxcP&kg}fGJu*cGM@M8U?k~>eD8#dNqcLn!eyF zkfm(7-9WMx@Hy`nLMqd6sNsh=$ONnK z66_-f!8Ox^LC!G;FzfjrT*s&fSUAC-U_MoB8r@x9&g)~rFqMF#zS-1#h=Q*cHEF?i zI0hBV&>(a0&)Tg8oT{~TU!;+CBZH4MFvVHFUBp_zw3jglhlA9`uf`yH6NQ(5VeNPn zYX?<`_sZFdDRJa4TU!ZEcvPFM@@pn8&_h7HgzoH`a?YRXFm%;)=dt$3xi>H3{Mwb{ zm{38dkd=OjGK^?`7BVv4s4?EkE0OhKJr5_nqWbC}w3?pp^djc?K|1cXSRt}`3m2g{ zDBwWNlZ4I_jP0tYtH))A)ydjVDf#ObI8a*lI7wG#)+B_PSTK>UDekyPiU(d?ELBr> zz#oXPUhaKTl9$GQVJvX?2iy~upR_mnywA>sP6K#$jC`66r8KhRiHULBki9#qUG`Q~ zBi=9&qpfJRMkG}#tK41fVwAZD7SM-DrBNA7ylvihI6m`|JR@?g6_r17J$J)1K`=Tt z9|cEaIaDu5Ku-yI-wXoEYLKQ?w~{?FR=&>Je+&aN5M{y#T|afkbcux(nqA$Q*yuZ8 zADpph-;yzia<4~+emPfHIpR-O2gDeHA=5+j;<#5BJ7l!N0{2*j4-wE%NrK>|tzEy9 zw9lJ^H@E6>)Zjn2=!bTF@~_gqAg zG|fb20M@CEMz5GC4Wc|`1TvXJPXoh{K4)u=E5FJXe}OsC&SvSqIdmVmIT5bF&mtr= zE>Na1Z+#b~v{5=;jC#61KhjgHK2;krlKQ}a%N1T5%q(yEBGzW7g@`g4{(5c8g-SL6*&RE(J?rZDsS()o+++AoR9ue>kjOgSa^~Js*tUT{M z80gWd5dtH86bbnX5;4BJ&JgBzJ-NfUr+lE`uW1RP@e}A?7HTm#G8#oo)^^^U+0m8t z>CEPG9m?kFqA-lYdg(6jVjAwZ>{p|TZ>RWI;MPG2>WFnmSp~^4P-IYhWAe_9bJy=w z@GC~h?A7kmUadbrBshk-ZpOEt!SOLIgaKb--3Uz>5^;3Up2ea$NiW&ri5wK(V2{Fg z+SoBM3syW#Q13PZzVjEM4cQ(U7m{~NovHOL3273UF{182 z!|dWXs68A;3(;xz6}zaC0WhPZAe`Z5^Ip0 z;nIPp^76wM#_8w0oM$z7BO!BvYa%b9UB$%m%jr)ZQI_kih! zLzL+aTg&i(0QHxyd*@iL+e&Q^ zbGYX1@7TAK>^s>pkCN1|kzERiPeXwCY{`McSWO5G2Mq_&4I;jRw1Ze8 z0G05(#){e8=2{;}9!S@hcSaNE^rUce!_r-kLJp9!(RernM6E{lf_dC@+dih7PR$W> z*xuHKpcrzHKd<-F5UV->U4Pc#wJ>t1yfmXzpM>wSv$T+2vxN2P{F_F>kc=3zVQ!;6 z%!D@?wdeK)uABAc>eK54PIn$_o9vxY^6t1~A;S{li>E;K(wO_vYcack9`(BWY|7nG z3)P8XX$K@jW=YA>#}Je##mhkB?T6$Itq~99AfmG}wp;r8#Lurkx5vkFMisahtOB_z$7+4lweLFd6ahz^%}2L#o+E-fA52rj5E?R4H{5T z0O60WcQ+95dk+dx_PT!3jF>4~l?J9!O@^Dy;whns&(ujEjsle1Q^@452qj6iKp5A@ zD@N^MX0&QknpT@`x=8!}U%3gWySlYF;ON7s+p%F+q~+;fWImR6Qm6qjG|DvO3?nD! z2@wsZ*FSpaJFf(EEiuM?BUtuEl#V@1L#s=7NdMTAs$0dls@?tNSo z@t^q6Zv0ui)QP(KrL%cD=$o~mgFG6qv&DC2?e&(F2XKjJD`>CPl70)^$UUnyPHM(e z?eKLhi_7cjCl;ONLCz*zxBKy-6$lHK29W%M7boYiSrvHKQy-yiZj?p}mw5MqHGANW zam1T99xdjFHb41MF}Pg8H@WNw`wldb09v8OaoVlNz_{vYupFEcuuw7W5XcH3+IeP? zL&J`?CfvaUXMzFkmB}%=e;E%V@OdUAqG-eta=7GJvm(->Y8$9~AEbl2EVTJIxPN8; z%o`<6e;Sp#&iy3uI!Sv2Qb zs16yJs+~LG=04rHxccyvMANQ1W^u31ZYqs|d+L$>##Su#NVu=7s`$K!;gEs2T01P= z3(i}dY&}(aUk4py3_M#qJS4`h@vlB|IRG2?^R|A_yK5A%u&&O2lSRou~6b9s8 zTu+viXy~vLGE)`me2E;Q?^&wwv+)VQ`gzaXpIoKHZ%6;@cjVx}q=faIk=tMyNJRw% zYqM2}a!YESg@MA*pws0E=z!ptYbmddAjzXZ8JG7ZiqWiQko*wqhi^~|Rn;1&0}(h( zjJe+D;YoCwV_SA;=6lm6nksIB6IT-m(x%4Y(((bQLH@{#&^79Va4 zZ7}}y_+nsaK_iql_(!K7ezXM&oSDy;txyBu#fwd+844)$J%W+B;2RH&G5iz?VO$DP z=9AUwIrd#~D)!%UdtoTB{8(`Y<;Cu+K6CAuC}_-#wIO3YyjD|`w+Gc-NH_pQ#5ZqA zJG`z_M0h@Ugg@QP}GQTA3k1vTd!Gt~1EGtMk zB7h0>Z5)G;_BfhzNxZj_8!YX+tR#PHJ>ZM@H_#kFD_PKWKS@|T2A^ZN;%+TBq@2y3*)8#7RtCfU10~9EapzGs8ugCBNfyS^AJiH!hbbk%*+TW56LoTho(Q zafJy0;CnHeY^o6lCX9_SUTzz`ywn;1 z+fMZXUdH~~#Pe@M`jvK!SB94c=q@%`QAFY}rI1TR3})JQzDs2?jifLnLXyTAIHj+fnVSEKBK-xF5GM{$MwC`VhX|2JAARX5b+LT< zRM>C`GJz~4buGq^V4d}u!w5x?r3vHS1c@s8H+KC39+2*%K~ldgcx6#|?EA|^k2*ZMLM}-JDD^T?SO(ujKOmmaB#2ZNJqElWIr2aoXMtM?>wee0_dZshhwrA=~N-`U*4{M3X}-fpy&I z!|LiA+T8e56RGQ8@J}`e%YUo%hafis^ybnvREuS4cE+!f-xr@@l8_i?-%#Jk_j=Kp>-GopJUu;8 z+i>vn$FA#3ZA<+Qq7a4|=M6x6NeLxfV^o(>Bd>K)5wv;s=SaWRD}FojBFzQA*!jmZ zD0qOBKg<-LfxN;$NHaiiGCNl@7vE%l2hd1=d4D9lWxzU~@^%YsEjQ zt)S=mU&i35{dvc)S^av-cEPBJ{2eP5qfUZ2;YzjY z*L?7ngqjF>(d2xWjvs6LBe3K)`oalJfsnNOV5M$zV8sr?pZ$Vkf-rVnVk*dcF%_KZ z{u(PWtuxki;xx$VzN+iB*GolKhe76dDs?Vv$+2AmEq;cKdfZIEl6oXvxtpxWntzI^ zuq8ZmFh|2?`*O9@nAiC%ff=Po?K!JQO4p&_Mh8GVp2fHY)dPG6PKM;|Wb3gj&33&= zJhjEBY5tIufHnAu7kK=+4huRm7P^lW_6RbXrO6L%#^Lh14&ujxa9*>|M1qu=Tor71 zW}{gW2sjLkj-Xe;&DegmNi$_j!cTY3it~uZD1Xjm9%Q~KZdl)D-gkP>(&d=ipQiA) z_=-Gnxdt8bp$k?Y&$oG{KCo}K2}_+mj~%dV446xsC4CQv%QU#K<7w9#sl9LwRcrE>J9R!GqsPNHM- zINwgZfyWqp^6^qzwu|cxMd65?FMRmvdz$!q)oqp@&7h zM3w_jj%T_{9EYgrGHN$`3u7nLn6+6TluD(vdVhPq^e%zaNEFBmc-IE@RM4Q;r#F#& ziQ>Va{j~zg)1pP=NG8cS{C!c;bh&_OcRSDdkKo!EZ+vzuYN9q5#3XEwW~(_BjWS`P z$FtYe48fq0Y8UpAw9^vNt+MxD98{zPx9HU4y{?aCa_zD=XNE9i!2in${(FN6!~ZoQ z8~k5L=`#;HqwI0SoMwC#C>2oELrtjE4;iMqBnUlRb~^h2!MGazeoP^Ko!8RFf)QlB zJNLuKY)Y`YmSrgnQj9=597a9n5y&18Ki>5;Mn+5`;7JKlr7;e35$a__MRGW1=Y`b@ zcR1%*aOA%p?xKY?9&n&-o`G>dlwMC=AE|~3CEt{Vd1BCQ|6qw#IFYXU z_+6Z}6p(bVZx%(jFw&ef;FBqrIF~6660DX6tsoaU{sg=in6qtly6DVmMZcSdj-S6Q zg7}ejX)gvcl1IKfjd$9IbZ52c?ho&-l5BpYg%(K;?61 zNrRmRsgSh1|ceoj-|He^hNV@F`Vk zi&+2yftnJz6wI>#T%1R6$wG=QkV=QM#*hh!|Mx6r+B&LE}L09PoS3NI#+h3g`Po{02qo9cp8R`x#AI=c9c%$jTM=^3M)C-s+>fhu9;mn(DRyX7A>jky3ZASu%xo@ zkZa#U1T`ra3?_zq=W}zKzuf8!WHC}4XFO8C*L>D*_10!inW{4#Qq_vI6KcCU1fj(O zV;(FF`U5oGA%SJ}0fnqhx2}1JPM*+giyPI<%cFQqrb{In`M>C*zyTr2Xiovv#<#hA zO-TF6n%-4JDYvUnv;x$(BgGUE2EE+9Bc1o#a=>{>0J#^~YdRjhr%FRKvd3ncgb9r0 zdBWJY79iz5OXaoIX$71GesChdHJ4?`Gb&B#&b%G5cixQcN*O*uOi8;|&`G@baP?#5 z?k;-OLNS%-*(TA3$4RHH_3?0~(IU^5!O*w=?D1yubBr0|U#`Nx3lOyBrLg3whjik+ z)GHThilMr`)KXCDU=7}r)4t9(I>w%QOThV48i!a$qor+Ke;@adYGG0&&e+J}54y|j zxP|X`0b(ITv8zf65crZ@K6!tkSZYO>QvZ=g)OIYj)@UbhCQ~jt)n-ioNP&T$O*4 zurN`eh2yX_yFfDLqyBb#e85!u_W5|JoUMMFYs8g+9pj;!Imp@pyG9`7%{z^rhlS|^ zMgSGuA1)Q?NAxgm4$Q`wi_)259YK;km7SE)Y)8G7G#55Kh%mAs2l zzeRk*N-S7`E4ay^-Qm=VhqEW0hlqN-n)>o$8+X#O^7{HZ)j*$bF#p9fZ;x@M?Oc_9 zvdH6o#+=`WpKDx(Y?!ygYC0h-sU)$uc0R6nrC#?}MCr^|)55nDE^c!%ew#m=Uvpn= z!TiGp_=PX8qhWadqFOCoD)Y;Iit0QkC#P4!CrO_?YI>-p2#Lzrp_@D2m*-XKW42?l zIOaDeq%?Oz9-4YrVmg#CveMBOz2=fkT>WM!hpl9}#aCf0%PpH`KzS^uYyL0>-dBgC z)FOq=e3;%5)Sn26z_$)(9QO>e`hZQ(##621Qd3{o|P74p^y2!rax=} z9i*4Lp4(dXzprd)j4)G(Q5}zz)&HkoChS55vD);<2@n3^d&SE`#33P|p8Frfsv!2! z=Yw>Ujz66;(ggTZfjA@BoIxfTT<5jpKP_D}PMEoBeR$nh#K#KIdt`6jhsY1aTj_ES z{z0e?4q~*|N!Jtpqw(!ujo-qXg8wgdAbtwARf^c}hJrB6WESM?2D?x|h2TH&jqPA(`e*D7?82oiYL%UEL3Is9LKa>W{Skzcdow*VLl zZ6%IvKxUo%*K`I`m_w7U5zwU+$|p-217qY!RidDR`N!lAO&z0Kg#3=9mb=`UdOi+W zufs16nm-qsGRA+aS6H(W{6%SL4m%biKElCd6-sBcVR&rC5co6A496+N4ZJx6c{TX` zd=STf z$c?B?I(pGnf7`+@#C$MKX61fYRVI1U%uM_Tn`BfP>tzROk;}sQy4#nIJ22|p zL&31~K;r#ZiA*ESAw0W-w)VyrFz5K7^OR>LVAw_ceBB0{) zrR7hokFhUd$Z+v9xve7PvpJONOuu7q97DjO@rz*muL{5XuXnng1)Ia!K--Ks&b)Q? z(vOX#LujJGBr5JH{1ON<+0@1ok!^LYf^VU-=(5-}HS*tMiAaf9G89^qHQat(WYUcx zeBS_Yya<&{ri=VIXW(#nkBm$CDdLT@D=u+mxoTJZjQz~a=LQw3$z6EEJ?HX(!tuCC zaTa!)DLn&vbxBCXn#^jtm~FfQ;@gJExlZQK6?(`G#e=^z_&BC{Em3OLw-@yYm|)kLB8m;If6p7)iK49Lm+oj{(kaNbWpo+%SKJ&%`LDFg)tiH|^8aL8X~tYAF5boXM%2d`Hg6*0^@O-4-| zu4I9V`!Wio6d@8nO>l4baKph`yM~bS4xAObbP%-gn`I-Orv7LGO@qA|?c&FWLQby0L*!?elyRj( zkE92)74QkH>~jX%nmbU|>c@IlZ$L~PWLD5Du7pLEtZ)64Ji!x6C=$y1s1lddW=+kU1J{L;dt zWe_FijbK5kzRzAPaw+-*lYeX^IXLoJ3e^mFV9RwYYM;S}(b0>2vt4?Lm-r@vtQt^b$lMZLjKfo~%uzYN|nl z=zg5ODjHa{a?=foeGqrr9;RSXuOJfe6knON-nwhF4%m-U7M#Hetdeg%XLVi?wOT3& z4_R|#b+!3XXpna~o4S^x4N&Y9{7^$FpCnDp-@=s1WfvE_LSmltd7cCv7f^h>&^T?1 zv&{A;XU%<;Cq<*?VJ72>5++gS{TU$t_V)Lo1#+Ro2j_rCanx!2PJ zcdyI&@eqggiw*IINS3^U18W!FR@Z$9WnlD0(^`IKNflqffys`Ii8VL)!SLe=o;2l18I>nDzA&Zx=V<*LR# z1|kl(z%wWty{_5K$T)oW{FY;L-R~&^Z4EZlvq@gNYtXkAOBzx{8~u?bCb@Ug`!l5q z6qqJ$i%3#QBu$nV~gf??za5P7{&m+v_6eyZaQmYaS#L^xfPX@CV>P-)}zsK+r3AxGp zE$?J@O@e5o!5NKF{`C4y6{HWeMg_rlV%|%ejW$EZ^@i1*k7|V_%p*jGN3>7w59-0k zajOP1MWSgvBAFu1dO_|l< zZ_S|@k`5}iGv6EtmzrJyDkn(o7q-oYK0j<&zPK9Qn`U*pq@m7!6w=(W89Pj$Y7(;u z(6pS5vZ`|iy2)(r(2zvqRTI5oF@pp-w)sSnfZk8Zm%9%U0&?|-w5z1ySsKE^{v1{C za52w5kI8$N!mN6)8~0~9OeT+)J3p^vtePbv1jW&}SXXCz_L2FbI~KGo!u7m-vhlKc zT}92uvlzeYG|YNE#UbQ^sXa@V+UogE z>Q<$qo9A0{i^91KFA=afMJHuZ&jRmT4SEOa)W)q5jx1@vkY&Dg9{e^Zzu`!*@~cF zWm~R+{qBU5S+_vF!!weKh^MLq3jQEkV$pC?qB(;u!DRHq`ToVtVR}9FL0nFL3wAfn z7-+0^g7AO_)X6@FE6xe)@@ZIoGtm*V&?9J(^V-Co)K-f_FcKXFpF7-#Fh{Kdao=qZ*Q-%0ZD#wb zq&YOh8Ixi6)ijG#A0f?gbZfqzz_ZbnI;+p;UugBeUUQBo>(V*|mhCbL9sAxL6mdcGdRsA47@1l;`IDKJXQ&N`{8E$8*^ zj3Vf?mdfv$3M3WF3OU@c^7a?z;^=sC2Mg@^?X&j#euFW+))z<9t=8_CzAX|2qLvOc zQz65U-beY1qq?tn-$Ig@h?1l@b0K&A7dtNnfLez2ZbZ}EU9K0!G1Kp?Jg=U!E<%Td zN zmh_@f%YMr@!av6?d-u9HLMb(K+NWByomtTZqRgNZ!5p5#^mZKB$rs<&o7a$h}Q?IjzWDf{W7`#$-q{6i019pg{0!Jvxk3 zye5Bx8G=#{0%H2fC*NyDaSMWsZ>PGp>QyKd+{!f>Q|&xYHfMK;au%X9 zI!)V$XKSygYn@QRU-u_lJC<9}C-At>{Dh>{kJgzo=Rzx=VUEG4Ikhf;t%;RQ1SZbp09`3zeB~?e z+{fmYAak?3P2}|e&Sl#Cr&IvJhHnU2vFgUs(2;+6)*EA&>MDRn)hQa!;w?IzyIC4M z!FD%c$P>{0c4a~Yg@@k^Dy;K)l5aBxijsD-N8r7Y;-9B*8~L+;z@1{R4)~C^m451p zpUH~rOZAfEGh1D(St1qs!NwSfGvCE0b#ez!o-8*MKU??t97NzFgJw%Var)2&hzf*J ztbet0?h$35lhO{KBqZh` zG>nphHS#0hg$f+n=+<@DeFBp>3?O-R66BQ_F2STG+(C!mZs-Z+bg%Pad%RpV8*ngd zEj}dLpd57)>|zN*81U=fdJo*@#ZCcyEwsYMA3-xXS`u*`cnD}bdFmn|gs64;nJ*<# zIdh0Rp&>J=tY%aE*~Y6Gn%aXsk#jf%ZARBxk4Ol=v-AfsGKQxNViY5ODg01i;M
sStUbxjQ+ljk%wXbmp%$4lV&*Bfj#LBT#06j)5S_I2#j6^vC`HCC8r$8A6V?! z3Pv#mfJDECXPlr!iWQguta;2cJNSD(Nhs8Tj@7{$@j&w6uQ?w~aNWgl9!ojSNAu_VsQpoEgWUPXi<7p+xVbaIE6ek-9p|>Rf>3I7_&|_}~pm6x? z@Ux`$q%B8Nr^ktjukrTUR`>=aZ&`-AL>~a?hATH?e1*iXT;TJq)U8?jnD-2?CeQJX zzk&^kU^0Azvc&t`UXO&k4I0ufGl^Ze=C)lK3!N958NkH9Mni*hMvN{}%pM?gIrqLN zTGn5LL9ztaBg(`CxmjTI0}`XZl&B&=QA#LZ2zaTVp)R0p`AE%uJe+c9>3G&NDH0-6 zySgxjC4@%et$x~W8a(tJEZ|k3UibV_tvlKzbC>c5Jwr} z`8#~PH%LH+^7G0=hAqP$Z3Vy>1^&Lr{q!7oE6Ce`$AFrfO|N*zJ1Mo@AS~kqPspw+6F5IbCsI)V6@^zuV?dRLg`=q4=xH+K$8j0UviIW2q7!CThGvlTk-q2 z|CE;@pqlPNt@;|A0A^;a`ukhaMmSiv$5odyIlT+y_x5b_S4U{Tp`E7k)S3$VA$V((Jc9l`p0#c>b6JYJf(9BFzP?ZcKk6u!ql1o6KGW8ZGv_L>yA_V?cJ|ls00kF};A-QG z?hcL_TlV;RBf-gVC^FuYCEB&!WUtp*e8adw2$LqX<v;GC#-2cD zfi#VIUPfF!WOnHRG6wC#ehoH2X4!4jU8MwgrJOc4k$A)FH6^2ESn6kg9MR}mkPp0LF&caSG;L}|D z!WWJlOAzBCS}^(&B8|Mu#uB{(G-!>9dR{+SR1ombV2Qb>f=8juSi1{Nc7Ic?VFow&_J4yg!OSutiEK!t zLz$Mbzy0M+zSMRv3Q;=CHW!q1b;tPc7 zbK+Ov83xU`3RZ@7*G|}}btv<*PoB+~scO-PM%ig7hC-3TD#~y4IAvoc#)!DsQKRZy zygJ)WtIG|+-?xyM$APd^S2b<5aI3wAoM@^5&5F5U$x6Pq-3Ni{j(T_Zt-m5P`r6~` zyogLjp<_LI>K$TTt(wjZZYQuPILHnG`ex0StfD{fZ`|7^AnVe1grv0(2F(W2t2O2C zz9gDRS&T{W-OM_(d7U`k^j5LoYQ@LOqf$7|c{^%ZGBm-toE>7);~w+(EziF{Qf(;Mp|rdEm@@-H`Xjz?O1A;Z!fn z&Y=LBW9Y97E|cso&)Obw4Q!j*aZ(Z8%w1)PM$%cX3wdrCxtuTM^yBVk33z>XA@a&7 zZgt&Q`&UZw(1NY}r?~_rz(F~ThyTi0rN{ys@XY%e2oqaJ7DKIeP|oK(p?Roa$)(A$ zg>K1iHzb1hxZfmoCVFK;j_nyS1s6othnmFXda|N+_5FJ!X&V5Uz10-&VPmSB?HjaZ z#ozn!W}0%NR_~(pHSkr|X>fdjG**X=8~E>^3?Yg<33sv|sumij^k;gCafy^hpH<;T=Y~aOz@K#!GMqsZIs>GzAR1Je9{JtnH;`Qn@z^{FGh|!v?K+XxcX4bgeKsNKb}I2YZ2uOXY<_%D9BkSP)S0z5x{`*IKSBC;de*QGF8^hp=gvu_(cztv5@*g`%o0u2ogj1pq(==HPN2Q9g& z_sf`tQZEF3Ig-F(;p1DQ#Nm|3Q>$>wXL_sO##hg*HuIq+0p#f#y9K`CK(NDU+P zGp#R3$J(sV(?^rk856i?@weO;YT50#&V7B3v;M4)8X#V2hyoe5pCKC;GS<1&vmfpx zkk#iBg&0@a7w!-#N^F!S7wqwKH_q9ja`8tTJ?aZ#_lJ9>CR}*~Q{mrMy3G!U8h7_( z1_NCdD#Gx?uw?Fz_}3fyTi@>Qyyr*VB>B)C9}wAQ^MsRl0=KNAT)@E;#@Sccst&xj z36?tBAw5X>h?EAwW~IZ~gKbw;aJ}G=t5y6idNz>Q=lLuNQJYlEGo4H z!W~-#mqXXej)GJi_Qd?|&+aP^xAHkWt>NJEUI613x`a|^6U;R+`|tQwGxubY2_1y& ze)JtG0c0{eIL;2Y)8FZCTmm;zG)8pDHsLrkUTcZT!uVK&ANaUtLWhzB)9barbqv=wBAV-I~?W%Im2dx_9t%Owf#&9D*;cWd`!h=D$$alM?!DvH>u>tpZ?BL*7OyfPGC%L{8`-yA zb?_#28*|INs2-c*-j>_mExEfv6;{Og3{xr#g%0;3i|jX#dw3_6#0xJ8aacs*M{6$k zSpzl3R7P^@x?bcnP-gxW%9?=o;+ze(8xAAK*%oimt4~_SZSbR8&~C#dLb8d4mTydkj^OcIx8_E^{LAuLvmI`?hsV`9$7ZoVCew$St8$K$MnXXF zdgK=fAc9PIwbaP5X9r@?AdNfQB@`u9k!(It+LPAuh>|v~IuP3n>ddg?is3(PrjQWb z`~bCSHrU6w&fjjj(Vb>!^jf1OexJgu$B+r^eMPFGgRjsUp7=GY5+S1QJ0UUPN8~mE z1^_{JSLK+wu!+P&GA#oIrtwaNgq|D>l=(g*UX0D1G~^lWuZb;TP(Vfqm1ExC*O%qL zjh-BoR}7d}bCAP2+By4WqzFW-&n{N3GZ2T5Qc`&cwRGWN6X+8f68Kfni>?$Q?Wc(? zDNsN`2$lW+{Dam;PYF<=oE*tyUjvO6>I%XxrsP&GYpyMxF{J}eupaYN;#*iwff!3m zuVD5Y44LL)B}^MCJ2`63Vh`rupW`30!}{bwR+(M1z7tm+{*6_P#6%!z9-6W$NQMe5 z2m_D&Ya(iNe^@YBRhY8KE)%FNL-Z||0eXG;|D-$;qZ`AONvEYn{!h_dCJ-WV@xQ6+ z|0|CNN`u6F!JfW<2mL?(z9h84{7;hLU+5wT?nbAgBL5#iF*wE+K)@4Of)2c6fI`(- zdbx*Z-0znlr=dp7W1UtraJjE7Cudo06!Jd?hE!0i2BzC1S5*H$)tg{LhrQEU2J8~7 zzX6S3NB`DPx$TbN(!M|v6{0PtV9@JFx$cdB+& zC#z3VePM5Ixv_W^ji*t4u3m@NU7GU<1N?tWscTjP{~tPwe!j-X7iP} z{oP|zkfAp^pO(h>dXq%)Nrdw2i-`j~<_okgP73q&PJdEx7^2*Y>#@8S4zr;XNHgM+ zCTEi1g%A?zxH+1pXvevbuwBRJ29SY@**^ta-J2PkKpOZ=n+2f7`@Xbg(fiRy4TXg7 z&t%-G!y|k=GVk~O6qM{%*^=6Q^Y@JT84#W|Y?PbO5)qwDL;Gj(rJ=01fTrpO?(%h+ zPCzOKH&IYpvG;zvH)6rIDaZMKIhEbRp~Z81`2CWrW;R?ton4M_{S%aerKks-SOgi+ zzr8`h?}7Y--I`#N+=T2G$*WBcvZZq+Up+S34s;@kC|)v<8oxKjDxLaEVR_%5GJ`bZ z?>kSd*Lxq08vOFnSacdcQ&&9_K|y(=8|$q-zi>PrVghg3XX@G^R0YSa{&3&lQQEis zNG`IEn5eaVR#i%j@X084n+$smVi6bbQnT+vTaf86CVd$IsT1bI8RIH9puj1Mr-UZL zO+kY+kjh`En56mQen}`%&wHp+VM%n``v59#W^t!q$|h1J*Y4AgJlN~)3ELA!4A{<9 z(jU(hr|!#rqSX5Yhr&bpHFd7sb-hcQ(YeNOExq}yh#G#SYB-b5>$O|-_K9>BN@nLHaJh`l9rrzhGI&Dp_jw4 zj?_!^8~%cHavcn6Me=`;z~k_Uh1_2KO*Bn(nb`KMv(Zp*MEqXYhu`lskb*i)fu-3T zA(z5L4{A55CMO0-1M39@Bgoww_P$?Kw6x~5j}P*;8}0PXJjQ;oJ z*1Ej9FSi4V%>?@_7lG}2u|n+vClW4ae-I7+-Y3i!D-Eaa4lZl8>Jxu-%PfCPa;0;c z{T)5uuBipY8-CyJ@xtSNQEOUma9CBG^uYsJ|AOpR>Q(%oO@4e~(v>e&ub{f#8BA^W zaUa#f6!K^dkg$^}ncM+)ME&_sO*&g`rB+72xHzoV_X$F9x-HU;)y3de1f@(_CWpEP zv<~;2&KHfQfChv3rhFmHS;Ck1A8Xw{5S7568+#ZFpnhW^>AC_EujMM&yePeHzL;Jr z#~*#Kc*_|Ov`QwL&Z#i;m#hR>UAGBaO1i2{GX;R23OBSq1_Xuab>_(++<^I9kDJ@H z%=#J!By0ROoQFb1h?LeYYdjyfQh#UGJmX<1!!{xiL}QJ{{`iVouQFFHt46C{7&%)1 zkUSVql-#7wak2Cf@7JJ%;-Ht%*N6qWySc?o!w^a<^crPA#hXH_P5;I(DvmYU*BCdZ zB{PN^3~@icM($vZrhMC>l-)~?%ZAQ|Rq0+cpjN7LfJVgmIhxA!FHb1MHAcd`9RY`y ziq*95*EC6N!oQlZq}%13qPMI6*RlSA7(BIpD>n);@gyCI>|(tWnr=CoJ1;?>WAdLzfps4%iZbvY@~FdQN3}87q(&NgDbg> zA?TUYt|Hn;adL3N2Y=cS;aiZOcZ+4Xotnx0tEv;OMU9+}SlqQNsm#jUl|THd^fCeb zy-=x1QAtuDe34aR-uHyljvT}bN0!d}l-}pVvL#+qZ~&%*y>1S(HWh|*V)1S8T|k^i zGAJ_1Tc04b>R(P;Bn_Oh6#)oyP%YGkk19%9B;@rS3cXvJ{X(m|7WzV|^i%b}SO-*H z_jsZALf@iN3}!=p-hhj&7!vkx?O@>f{T`d_&L`Sks};iMDfma^9~weA`T zI?YOQFOI&mQ|3+<8^B^&ReR|0d^E?hFSA-@8?R;PZxC$Icel6e+jY~CpkzB=L2onj zJDI=f(i(N?vesr7hF1GewL1^TPxB1ao{w-OpUFZJ_7jShA`^SEWl%yb(qd8cXG*+O z0F_(4V&~ga$TDN|OPBauhnf{~s+=Q~u=aQk|DdO+(fNkjOzGpYbpJ3&)UrtQrgT_q zcDNw~jnAKzs=9rj5r-h#KR(m$Geff5D<>A=#a{g1+*012-aq#q)4?}#Xw|Grn_lwo zPM=Gc8zu=LIXGI&>!-sB+G;KXICN`EtPsfT4kv&=r%3{~uD0H}Jo4;TsukP0`p2K` zURBL}t}UO}(Me=Kg2VRTJz$0twn-46xa~m5$W1aAl2SI0Nr&DiwAMkBuzYe7$mdbr z4Jm(PLJ~LQl3}FFRcUo$z`?hP`_y=MIk1g}wI8DF2vUNS0G2m+g(27R{ zkb2y&;9u!7OX~u_?{S50Fo)CW9)^&Oyj(uKSO)F!e z%%-DPFJxl@bUzG(jGCNw?#bSLLXAJ1eED*y2g8lAo%}pb=cQEvLtjr|oZD=Ay>BDd zS3EArkMI5l+v|32{EFX~S}FO}X-sxY=u=}(>mqEZ;&>HWlVeg>bJAdoSg99U`vD3D z{eEKJ#f#7487Z`ANia!xq2f70rIfL^6lb+GwSAchFd02ixLK{5EoUIg;X#%De4X4g zXc84CD$D$K`?OF)gm_QDl}Jg)7V!4LUjY!cS!oNqhRb-}DvOGHB?UCv&HOg-c|M)= z3U1pH?PlY1ISYR!n#|xV)6B3x=W|b#f3fT4Wm0Wx-t*dqUT*f!mi`G#Q|y{viy?kF z>UWaY=K}l6J%=(HF9jvQU0zEzb$YBEp+XYp^m%xr01BHprLhNT{W5_Slq_z`RCZT-;p)nKK#TF!sK+kZUA`L z9F-(r%mVD6wH%+dy7R_+-r(P`epib|-<`U!s367i+ZyaophS$9js3Th+ zRp}2BRf`)5GZyq|n~I*pkJfu4KYm#Qp30_<&$_rlu;EwfiM5*>xmd!}@~|yn#Rc%^ zLdSyD!Wpl5*OtfFvy=~fb}^dX!=~(>MunyQ^}XcMt+SUw&ftQh(=2wyUXi9fazMFW zi*J-v3fgvAcjgcqdMo`El;JVslBwGGs?cp`Zmr z8u-Aj#@Z`;OZ*pI_(9RBb;yf*trS9BlV3tZLG>KT%Vm@BB3a|t%Vb4^qVEm(Go`YE zgAJSk8zidjng(hfXRjBlkOoqzI)}DJ;hhU}FMW4Ww1e@)$sTteh}p%~uc59L%cU4+ z`5M?O>I-hH=3A%T-$lYhHoTOa{02d&5-jQ)V8ZBR&ZY7?4H*K}S}Yev~1~#sb>!n+J#Jt?@(#qjil5ED0ebuW`r|5TE5F>@+ zPkB{6xTLW3rv~#*8k8R=?2v%O0UvtCwna(+0rB5*ANM zBp$lR#K*YaB4C_p?fZ01qOQDmp2XM)Nd_Lt1(0C25gctmo7z(mZ zA1ZH}Sm<~L>-avZhm(cjlp+qC)acDVGYxJNtP)0f41$b?YEU1=Lcvc{H$_rHLW|zF zIWwf`-4P-D+ZI~D>`Ozf?LJ$t_1#mHXd>_*$0Llri*{dU`DQzlD_-Jr=^swd*QA&u zK<3HiHcxVJRXt(QdU{J9eYVjq$DhrXu9zH?&c<82QMDZpi%Q6{_>H_%BJTe4#4R2` z5bJmPw`oZ`iVi^Yc#+Ld=@*XlvS#a8!L>>DWX$tu!(mF{oJjqK<`54wVe2YSIk zsCJkH-(k13*+8aCwcRy&`ykhe=Zt`*OjOe(zK;o-iD$T2?v|keC^{0plHm+-I%u1r zd2osru%7hb%ev75@~!Ttxi`xL?;79>9IMRouL)!DW~Bp|&C*XNR$#L^hS(L?cr39h zpAnMFG63jiyHndd52KC>_^v~F6!kjM3zlb$?pIWTmFTXG{ZRx;{JmDAaYUbK6ZEd0 z-5AF%2(cFsE6XjG``>46;*@>s@usegbwr5*;{K3nVXxKAud~kp<9T5V1_8wy_@c1f zz~kk51y)--5i6z{vAbPD2E*pAH=%7{*CiOzqEsu20aQNJ;S&hHSXtJS&cV_cb02$5 z;CB>a{{=&|j#e}@`r|0bxLW{6I-ZaV1@etJDB>O|Kr}$u=WcqNTNhTqg_W?_V36rW zPiJCpvqH;=qE^#d`mR1FfTf&_#vnb%aP{aYLT6F4Jv_Dn)3$~9QFGS+^v)JltCep8 zix2I3HE8oX=F{p@0L;C-1I$0h9P20gH@PA~iQdRF^xCKxyJa?Vejh}1N%JbZd^X*D zlP@dJsT%ciM*;qiuNSA!8<*LeESK9pIc|$C7wv~Yx5=bO-QL}wWQjG{)mvcPkg?HD zo?y~jP!7CAqZ!B(k8}8g4wUKjV@zu;hYa2*^OgCnxo~6S%=pmitGm( z5EQjN%Ad)dp+&FTR#?+fAKx%DrbTwUufrNc4nLylJH{a7r%rJ{-I(_72+}NA#~S(- zisSl@zkfu$3itK7?MvV~ww9+N*-v7?Cx%Vk2S!6N|pp99BTk>rxaA!&qnL6OD zSdYq<-mL@AEueHFr+qH%SViNE`?O=4sYK8g^7)kJQfF+RwQH^OrhCks`%a`fk?^t2 zw&53l-z3uwJ7Xzx+54_iO0uULRX~Dab9{Uh$GlnkIdJ9+^wtI`2dvsR5y-(FPJ?M~ zNXwVcQOC|K?e&;57}W zEG`|(syP=gj8Mg~++-CGk1wXfumSgrg%6sdz!Ax5l(N#)@xue(5{ z01cOqP;_M!;-~4<>|BF7SJbaD6hT5fuvgYyKc-Gf!iA!j`%2jNRMwSJzA$;gsjaGC zdEFgpKf+7 z5W(eS2q!ZWet5UtmiTD~p6Y#Njkk7A;-K-OCA##erFy8mKwpP1M^kTdSe%2uje*bg z$A|X905|U8GIC3miWw21b?V15LjvCdqt0HSr>2xAcR!EVs^DL>ut04>PvkCyqzvrJH)Ddw@^dO zjAacJ!}i82XVQcDMh5_|e>_7+M83M&i{j&U|Ksz>CSIV;P9D~7d)$qWU>qiTXtrBY^=!dD5OdjRUL_HI9U88K#R-=1JWfImQ4n`|mYtL&+5(Gou| z&~3px)$=y2pknI4i6ikt%4G4gh4>~oyRMyv2hctRy9iM_=;Dh_XE_POng3xl9}^-*cb9v0yv7wCk@0>)&t^6umK0AC zya7`DdiDnC1noy8(%YTV)fb;o?xZ_1Z!`UaKk|npRN}wmUn2j)+6FVU9jM23jB-x; zjlXaEM*wray2e2vh7GQa!66fFPP;M*ziroaDw37#`YN(A)f2P95vxEyhx=6{oy*0r zPk~OYG9R6))!lm6rGbPOG{Hxqw|U|I0^H6nQ!k_SY+q_2qVuDC$8heQ3<*^X6p+h? z!W1xlqpZ{3eLzQ^v!5EG6n+?0v0y_Sp2QFP5}qwd1QQ;H2;m6M9ZC@q|HqO}iUM+X z1Sl@YAq%@}Uy)Xie2yHAELMPXQx<5q&K=7i&23M4==*y4N6JreK$lZYJF*~j=1)<$^W9F;vbeA_8yfP|N4ofNa$6Oc` z*&Qk)ERJxRE(2LJnoxR!)3~&rGBrVz%&0J-&0`R^OJ$XEIY>gA0R`0OsJ5`|! zb4336T9g8F#-g>s*hv!Qy)KEKEe1m;-RYg2iBJ4wccluZtV zRmq@I<-x+hSN8jY?O`*VouG4xU~^Fy`p4JcZbIg9K>`au6&^?EJIP(u;y%3$x~Su< z2Na#yFa+r@)|5nqY6dWn5m>wsOrhRMyW$0|1siSXI45e?6zcm$L9>Z~D8WVhrO>US zrxXi}@XABpTLh%*_(Hv@iw7P79@7!n!{mu%6epGrN?LHxQ^O zN8!*6I#ZZn`gzT*tVTiwTOw(pHiPHH-e_?T+8GV%Sk_Tt)`P?jN994W^9=;L>HL%P z=$zmdaXOEtVbW|BYTn&zRw$C+0OTbM`UdX6ZB{g->Pm8X0b$>I=T@md+ANQpyIwt6 zKcKGkYq~OS9ybHhS;qtgSiuf{hsn%}_j>rg{PZs8NN8I$aJ25jItjN~#2A5G)b!lT za0&h?sG9!^ofKqrw>ubpy>!@iCamUQ#I=u2;u-3 zh;11745YAPI)1Su+3kn^G=HKuU}qHJE{A}YB)MlLR-x;bw%003hkhZ%2QVgZmjw># zlL%P`E0}sV0jgTN^*c)pITSLQxWx8Tjn3E&IccWIu~geG+YfKoo!h2-vAh*Gl!>Q$ zGBieG!MrB@pyjJMeS~S_K6c5!5N}z$KkIx^kwzh5a}iE_&<0j0L@;&iExZOdFzO0O zXKrX6LwjO8+xmcaye<0{krfOeLU}CZeq8G>i8UaeV>+OTObS8nQdX2_Bx;=0A`of` zJ2GeS1SOzRh!}pC#m9W=dL=|og9d<9#G8w}o-m}}gn5vW%x995UohaT{L7=$Dspz= z=f{d#)K~EkHzX%ELeOepsn9~bv1!`drN3xDsG68agmn6!OZ{14SJV$zSoJbpXt{7uduX8>=jmYuY_R5dGtb0{%u>~vt1|wFytBVH*%W=3+h47 zc^^QZev`ptC>K65oR$GQXVwgkh{jG5@Tydyzl6G74sN}q%@upQ3nX12@h} zi*GKk^+5fdwFXf;&D>=-JJQpj3#xR3`m$PPQI`inGvu zvO508j)!rLdA^j%=GTbsu3}ECx~QT*n@hXBr5Za{N`yh3Zt#ePqIqQ4BV(1$neGJD!=Q6tXq(L!<6ycfQC??H=Rl{4vcA=+!5r6%eVuRQ*h@5Py0f znrfMLpPH-HN6+H3n{0IzL{ixje-ohu~qfHGaV4_V8 zn5(4b{*zzY&-ffG=d$a~IezOTY*_WRm6JxBI6z?OVK@IQgvD$;m1!+%vl%W7wztgI z>*K9lOU0zj?6Na#)++zac8uTiS{}-+5`C+n-=+T8K9i}>%=d>2S;s!_gCbGRv5EeK zQ)=&b9Aq>mJdx-DDZAH*K)7x*lbtnN1DR3E8YF>5qq9}Bi~W)82sub!zyt(lH2jFv z;YIf9^T*5m8C99aRiHCin-{55H?Dx51BW!1^Q@5m7kE|l$n8QR1`h4Ca<};f^pkW2 z%o85R2f#p4{CjM3tf(=(K+r3`eUM6{55cl0YDbMW>5j9_L0um?8SB*|lYiN(moIo(R$}?7ZxGAnQy)+F{bsr&R01c1z z)SoCXrIlcM24hC1v-cgr%b14h^oSbargi5C8|v-=&qa^<9YXl(ggj^8a$7fc%jMNb zO?&`+H+;uJ7cv-A9+;*EVoHs9fB}sNkL{ZT+4Q1+S@O`ksK{zTW|@U#v;&Db~x$mecW?$S8EVV1#BobJ#|Xk(0gNf>Su zmJ;|W6XfR(m3Zy()glYacMF_CA0v`hR|L1GonLhnai85PQe7VSO{2803}X_!JPIn_ zBp@yJWXw0eGlfwHgLx9i=dpx**A~;DhK8_V07sun>2) zVy!V7y%~j6KmH@>tyAZmQ+z=`vsf6r>B~`ie^^9L)ijGPUU(<*ViNP~Xgiz@a!LqRfJDu|12lGsbHoK6DUi zZE6TH!a#r)+sW_F{=Gpg-jX1ppbfq14QqbaPxJ5b4a%NZ*LB1|2>%88q0eWl7}c@S z+k=<}@>`)TG~5?oVUkK`dSYSkX1uzeTg!kik(BKvSL9E!e&}txy!St>(W7m;@Wk!r z#R9od0=t8)H;T4jbI#ej&Z6PI;58(&ZLzpE81lvflbS1}*4>sprr-No; z^U>*h&1E}_g64BP>7_m^wU(`_pta~$^2g8zk^;%mytzzwr4{R&)2rk)224_%Ys^Wo zFyBz;!?|oW=oCNt4ADd&w1hjlVIbXa`fSE?8DD4Pg*Cx<=xu(Z>yia(cRA%ji3!#{ zw@c&Fb`k6Fz`@;u*z<;6UV!syH z4=NtuMgIs}#()0RMGRG0qR|BOf~{}ShD9GhlR|H{#^gy80{NZi2{+fS!ktgg@>CRq zfa^e3q_P&cd(78L%I=p}*NC_Q1iVr~ZH1*KjUrvQTi{+lvU|3Futia0>bo~&1k!F} z&6Z`Xh3Po*yKKn<#j4_iINJvWbos`aQXdup6>1Rhx{JKl)+?qzdni-;6^^ePS7eLS z8mtH3$6Xveng<-?3WijSEC>WbLxk+d7Aihebk$EqK>6ni(h#DdpfM#uILX4~+!NFm zORW#6Ki~ZNJJDlTV4Rc2i5w`I%^K7&N8;pRmU9sC ztqlGpgnU@HJTJ_*IML^Ax>Dz*VnC+516IW_UCw@`NejHBfOas&gpu%Jh1l8N4Atz> zusv3?UM|9Yr7F`66<|{n)Z+BqsHvboQgR7OPG#fxLeGS)OiFle^2zZE?X_u5R$~@_ zjt@4*10W14u~RN}vhRM0m!mQB&G2R;&7CjX9BLcn{sBvhp^I5b42&onC75H<_G&&# zq0tyYzmBF%Fys9 z{J9=9>#%hJnE@{{)@1?2p8zMA_+Z4VU+}vMulR!VYvq_9HjoB&kMX(u+J5l5^KJJw z_*gXUpY2g*(ix5+6Iq>eQ&z!(q8^NBu_Pb1kuV~euPbH2tG~ui1*D^^29qCW63Ac^1}N$$*hJHd)RWFVcvzF?e3d8sE9Y^Cfx2x zQ-j9f3QlW*<-+ux$56Tv2bOosir$zITTZ~}5e^k#ZU;wxDu1D-JK9!*mINC#m~qu! zoM{^nxs9ttxB6?8Sf7;C%t9?f#VXc|H3%dR>@U+Pn}vd34Ev1?Dutrp?}=!BU8|`a z_Q{Sa-8Vv&CxI{@=ey^~mDR#4m|lo1?I)2Sl8cz%*v0Q1uzNe59uWPt^a-Bike=q> z?meXZ)!2ewovq_)Ex_tlib6n@Teqege|t>oVdZw2sbOe+Z}ifhBnB8D;{j{}VD+|n z&91nRySqC))^~?=BBm*bXWF5Gq)lRR!8)5Z=}T(pGe05tE|NenN&J_vKjzwY<++g} z5_(b12)7#nSIT;!va@A+T4n~JQ4JEYP%Pk~V}lu~;-me@a8lS^7WE)A@&F^87~ar% ztj{{18_O}pyUl8?S5_el#fDG!iuiBt#ZHq48T9j;oX*dmy?;@`bI0o`BBY{<))(%l z1!CTH>WzVC8ox0ilrlt&p&>r4B;?KQR@xl|J{1SA-2N(WncC&~m04N}%NG1*-TeXW z1VS8~AGVk3H+BQ)l)*0@md*3)F#OV-1>J6-h$c6F6;GZEz-v*zrpQDGehYvkIqIN> zk~vUgfm5%tx5^bDTH#1C!8b_YMJ6?#^$*ydK7cO%%1MI`;j&-*HAXVRuM$de3sa;% z-FdxLS}U{P1Boj~mc@4IxaM*+mzu`=@1LoN%&#$DMzG6Qz#O(WSgjpi-k~ybSg<#I zW0XD^a@V#n@gzd-{ubY~dBi(V;Vpo#m~{$9^`l6|O$IWSYOxdQyp8n#~a@OXXhLhf^(Izjsg4$X&4^Oiyj$TCf ztBKfR)5Mtaa>vO<(OgQoW`CZuKri1ZQFG@3+MKf>;Eqb~A)w9pkoxhg%>7p%57M&D)82Jy*KtG$G%@}oym6ZtKzEm_{ zLJKOkGh$yqaz7^fed%ZyPT-j5^g?LDAovZblyD1jurmvDaDV71q3y(g;kHsi5p22- zlTM+KE0q>nN9q=PqUYK$v!i01A zK(l&-7Lm_7{7ApgsO{7Qj!ID#2|u?X_fVh>Yu_%II9sztJi|x8j!xdlVtnL+(~w10 zB1}y>RvH!i0OV}%9)%7JKAJv#_UFH+AC?F80xy~E`Gt0Szg{kOdYF3}vK(@XvpZRR zC>i`JIL4U`M0}!_92l)zy7mX}wA|7fP3Mm%yqcYWRrIpF6bognOHa!{=V33L+(Pum z{KHVrW9=3)A0bEJpkf#_tcP+TLH!|!u1esiaZ#2WBzrpUE}C;|FIkT9u^HW(YsA+# z8k_x;FIAnH2eFcZR^pn|d);||iypODnICAf8S>sHJ@hT#Z{jcl}Lbcv5fw!{8XJm>l2ROLY1?I*i-Z~L$72j z2h2Gv)P?H{j!fQu4(*(;;?Yu_TQw>s40^Zl5>JB-BvF+9Tf8^ebNsuA4WjNtR^SSrlpHl>xm&YguV;(rq;W?eEy}z%ClY$#(U_VRm zCojMsQb;bclv2rz!|EzuQhR+8Q)#MWRK7g1A7W~}%H3ATI(k19-eOXLhGh_Th+y+=3a!!hwX*awd>7c@2)HG-nn}!+y zM~mc!3$uFKay_2y#}m$*dBt}F0ww4OcoFw_m%6({TdXrjc5oenkZ{Z)dvL~ni29H( zlY})=E2KnA2lnaq3=R_Y83zh_Yn%0e?^4nRO7cvJWqq-LrQfxi!~4VdbIdCf^>?Ij z0NfxFmAMc*^;8eV+Qed)a?qOi`>HcnWsS9D&m1teF&oh>|NW2|1CBEXlkdT@!avRM{1zv=P-cXFiuOKMhHpkIsziF8MpUol{ zCw#~%dB5X3$prRttQbt#Lm?Opww!5%Nl&kpme22%VY0#C+&M{5u{ioKJ>DpP zs|_P57#sd>n~wr-^U=wf`-J2xJ%X17e2+xhCS@qK{3_S_%(})8`*yFy7`w+05gV-5 zeRz?0ko1vootVmT#F=xXFNe4fmNwnJe$&Tr-eA0Q8Rd5I9Zu7?{HB6{gd%;?dL+&J z>7FtuL3+br;dcAXK=wgcu`qtp$L+j`34 z)L{Z@`nFhUjLWhGH58qfy3WrBI??}kqXdV^0t2POyGs7QpZ(kO@27#->z^9EAo{t*U*orTv|e;*5&Je<54jFMR|6)6zMr0Z3{`c0kT+L8 z>k-!(dKK-pU;LHeCIc;bo%q?fx`)x=1RPB`JSoFMW$kfQZNRjUSKVUCc$kX6J4_EW zzGa{C*n!-b08&I$O_Y7#M@So37wBYh`aSr4YsQM6)$@s zpoIuTK@l^{oeDuMo2Fy~;s~|xvI{~P^0T7Z5h=;1!;har4TYLA1wDJ;;gK#H1hkK( zaY?Rl04Na;$N!BkG%^~kF*Txe>I`XlzYl2loy4Fq zv>7}6F&} zHB6+3Aon_ynT7H}{e0VUTG@*_a6fG%dMA0UG{L=|3A~npqm(w1T#5V5s3%)odEIax zbU=<~P|sQ|1^TuJ(e8pa0~^F>x!y{DMMA8Nc|)CebLJv30K8 zKAXNqRYg;E}g;{7&kJ-LtFS zY#|8zrd1>u-a;>s4?v!+@3!7dw+65XNP2g=w^Q$NY4pK_h?wzeuM{>1NTx72FRT{Q zuqUzwPye*zi*K~^*301fLm^DWODLRREWnvSmJ<*^Z%~ zJPHTne*UD+)zM-IN*^;r3nqQ`jMYt~R|5V)Q!g`we7@{dyE&#Np;t3vG29?-e;pNk zTzA9Zw&e3wWlJR%2aVN&qrw{ zjgm~HOA=Vt8<u{XDSP_`mgoSD*g>-EJ zuW2;QwqH0uOH?SC1oIt~O~ejPt(eVJrp1s%i#eG2hFLt3kQ4AB3p}6c)&dH4yEUoK zp9~m0f%g66Wj9hWaRQF%w5`=s?^>h|=kEh7_Nqm1CWQm!9)W)Q708Z9t*HqCSlr?; z56K(vu(FGa_7&ZVa8e z(*@ZmhH*W2%dj{Ve-txIpgH}w4O3b z1_jjc=F%vphgKCoY`8@mm&Paxzfty<>Fa^P2h?XGsF_{ zo5y&6F~HQS4#jTBd#PZAxpif9Gm$znvA$G2sU(-ft*<#>Lq!TIL8l)c;03>^m#A{+*)3KR-H zdyff|esN8*(ky)f+x+BK$V@Le02eu)ET|-lcovkod58LP#k}{%sf>Z(nM_&t8Az{j zR(W>m@nsg@_W+X?)!mRvI2}46MI1jy5{}q)zR&~g!mq!1#j{6TJLzMoqxcPnJ;dQf zHShMGPI-(iw!rJ&46FQr$HaDWjcA2#z3Tq*CjwSCi>5v5d-p{|oZXPO(?s7`hfK~- zF(b^KEAt?R&!P89jNUBz)iKz#nlf{h+NC#lNX^p0dj=V#<~ijZQq&hgu6*uSc_)Z9 zbC1!xFzQ$i4f?(h9}|wXz83^@`SL?mE|i{&c0(hiwAnup7V957>@L2tdKs}U!LZ!S zXZjL;BoCOXqr=+0{fM;H?#sFs734qMB!x5Y=5_k;%ps-%Z8uYEC7qv)16x@=s$s%r zwdJYJ{opppeJapDa;*a%$GFz=zfz;Y?QHp$m#ug(hq+74_6!s7t^TO!s-+{_^J120 zU5jN~8YNLmss7jSY)L9(pmaoh;5#4AHZmUZP3jaEL1oXFrwlBzSfXB^-Clf%rZTL(o8RzEyF7G3aVh=Wf;=KN$OZ>)CfytWb%eX{ar{n z6Q4_8wE5lhOU24nx9541BinX}V{h3cO8_U?;g{fRKU$d&m z2Ah|zINhD!TQ&A))?!)m>5rKHDiVHqdP`TAcQy`d{z!Mpb4Axd?$J!c_PtG9Gegg7 z0^0Il;kV!;OB0y5dN#)ZqGWff0f08*C%&J5Cg(_RcC{?qz&+D#aX!xvKZCBZJKwL_ zubs%#yp$eWQw@K^wOJy_fj>hd<}X72%p|e%w+vMIveKkL(3pw6kGp_P3a?rc1A#*C z$@SLg+u6oz*k(9vpK3c-Q?CQi=6R}cXI;@E!*VQ&s@dFTf;;VZT9!aJVo|Bp6U?kX z#cFgil`iD;!z-`pA0tAelSJ@q(NAZRpUlO^~-#BB@zeiqj=!K=jz zU7%_sbyr9!J-Tggb2?X>hYKr?y+H=|UA%&&BkR za6?*MeM-V|JtJJ;>kXUy-vlsyxm#z8qrf!OGrgt-di^HhF?73>w`|w(8*u4Li2-C+l&$!si!q4aOw@MW!7@2zxXFB0-iY7NppX) zl!lrL*0ln~3@VY=i$M2*24VrC{IoBl!9BWFms(|R2&cWzEobcpDVmDG>t(~sqiL^U zpH+}9PhHncL3-WdXhriHKDk8%A|7$FMAnSgznc4>HwOt{mrDP550A(Ulot1$?@Ts&$0&RfERzo;yW}YaFmtfeKIR~{3f>#G-AT4*Zq2)nNeRxO1j6lqIk3r3}lzsg- zREjn3Ry==}$jdz?hkwaj(dmd@otvz2vDJD@vU~=sx~?e^kyXBea>JIf6a>*^YheTt zm;B@1NddH1thaU4Uv=5bx-X6HjEmFs{nT``ja+PD**8C6pJofwa0_H{cL@tc!oeTw z^7=tq0(e&P$%M6CQ(aKh-PL;9XikO^ob8CR5t8h*1v_0?j$}wN{rd)3-s}w(XF* z7;GXD`vDM*?G9Tn?!36J{|4W%G@g;3EY%iPHq8xRJ~1u==g^`a zP~;hB1X~@yo_BDF<2*$h{AjnI@CGM4uzJpw{s@&)u17B^&wIFuRT_oL052U|I=np?Kxk-y|w_c|RRJqmi@ zH4!DvbumR%dM_~DMwEKTL>9yvEp@!2{qU&T`?K4C+SzBx@f5=lWw(d+8E~>1{_4t1KJlzlYw7Msgw}{bJ8$IWZ1&)sJ4f$b<>(DDsh0^GFaL%m!875 zX;aF{w&DwI%{JwX=FUr%AF;5Tj1ZwZEfX)bMo|I5&l@56tp!rx5}S|6%=T zRlr-nZ_$Loojp(6r^Q{&LZkRxDsJcfMiHRLV>6|Cwdz&d)@<1Bl_l3(b%kwtATIeqr z=Oo(^Z1$n-#{wcReG!(&IkH=K>8<$uKMWok=-)efw)t166`&E;`>gUeOU5U-nfOK9 z|C$6YRgJ3g^q@zXRzLe|%0zm2xss3Izg;aSr2J1to4^H61y)s&(traTAjWC)5#b$c z<{?oOyhoXmDD6rxVdeaRj#-+v=%fiT%-z|l@d5fU&K$kP^c|W=o$QANP3rDHrvijp z&P;7*s7noSkD2!U@&`R3n!eHPif9SVPF~0nXWAO>4dmvJEE$bXrP65W zg+sMH9P@a5a?il}5mMXsKJ56YMEN>ool_Wg4y1l$dUq8kJ1w@1n*I?3S;@@(Bz`2} z9=ko;KKAo*ldnMR6~Bur?%r_NduVta)=AB?42y+66UnSl7{E!@B!>8Dw}`zs7`Zk~ z9nA(e09!rxl+ofo7UK|PcCjjEJt z3f0F5-`itQic(Cf6o_n4kC^!S+*?RkPZBaEJ*7B|T__#5uazXsDx;t1qW8IFp0@C6 zc1?%i;<>_XjPcCL#O{@w-u0MDrM8PzYLtFNOWYCtMLqTbY&p%y;Z@7t&I#nf1nQHfX`3pqu*x zg=_vKmhQd_8YBeIL>Cb~tJynBX+UA|6<;tbbIQ@k=I_Q92Ar*I^MQ2qov%ge%Vu{7 z5)l$b1iwo!yk|M9g&TBzyknJP+9d4t5`_QHs)br~1B^?kC&gqtEA)a;D;u!sbPb9GwWH^Ew`y|}DIwTN z?Y%RGm3rScu5!$Qj+l8vv+dADnzFVUEFvMHbu{Q{XYO6&?(*8)I}E0uHCie0`0fcR zLs&DvYb!b9Fj=cq{t%2OKK9X$|IMi^30Ns{tCMGJ;#$qaRwPT$<-6Y?VMS7atb$EC zHvtfP+l}-W3;s$zuHoKcmXG%g@e5iYO`9Xc+@}LHsQw5`wJ{+<6GmijA3u6UH6lpD z?zS{7VOg|tWLN}Zrv~{lhRO6q{S+g+;55>w&bPI^-q~nyS1t4iv-5TkdslFHU)gC# zkCD<`5t1!!QYDE<6Qan)WbYnYn^G$KVp%@7zBs_m-79a8P3y1va+I)p_5Bi)`YoEA zZI1^`>(eWe#qZsuRz!#jbJ_qaJ#r&--f8hFxXpK^es&wsh#1Cy{DNuQ=5c(Pv5kxT zLZ{W%1a4>^h!o|do6&3th9QIwK?~6kU4Fj9r?a`b66dZIlImIh&8*{hYNF2qwz50fRW5WcdWZf9;{-5~k#baWIy5)p1QCH<)=e^cv$`KReS zs2k^NYAKn4bR3P<;bDtL+oef(g0(xh38nk`*{6tWgL9+HgHG91IY~YJHf6kxw?m&6 z563`6cP85*J00oCEm)|#@W*pQlsHuKrIzlE9|2YHkb%E2>H=QAoaE;+oOqT5)FGrJ0{Z*8AaJd(@LvZK(PHNvGQ|i5Kjlnm$uIkOMO{$+yG! z;Rr}#RSioX0mRj~e!fAxM?Hw!HlA4xa10}!ncnoZGd7_c;+pbi6JE1|QXJ6`L8WoQ z>v5r-pP*@x&au!E(<%~>%BBv7fqJ$zgjL{zn&TxNys5&^8YzE1{K zqg6FQzuu&DD5TS0?Gk|Lp|CfNP$gO=gW0X7Ld!q-+;95c&A6JZW!qmCnsY-U-@L#g zAuxYmV>8Q?_B64k5Ij>3e`8Q9l%cB+qd+%0e59E3fV8RWB5}T((h_A2IF#DNpSDZQ@w~+K7 zviCx8$WFaX*QxAH@2vMUn>5*+Zr&Er`&6y>`Hi8;`2#D6;aBrNLs(@cD8%{VVos}r z4vyj(@^YrXfuIn{$=;v!L~1M-flMXu7ZJhjKJW4djtpv~R013b=ZNlw-|%6-M;e#2ZzTSmS(z+~$@KYjbD3ys zL?bNyp9!zS>l<8J6{Rq0^dH8dMP4_MoDUVuCwe!j>E;}?H5`d4^|ND2Ve!5;!`Lp~ z?|CG%a)ZDb^X87ygvrGwWz88I0&`S~1lxLP-&Rl-j6L=J1~G z@X4`V(OV}4v*w79eV4M>0V!mY)ne&I&6@BK9=Gs zp;>f)6fA0^96rhTqFv8gW(DywQFeeg5lj$d$Lk}5lZjW=`3OAA?05>$6F+1#A64a(=J_K}( z)Kf)fem{gVP>Um}kGsy4{P=JQ7BPZ30qpqj1)mbDjUJB8l<382s>Y40!Ai%zk>-$2 zu~~8uo;&b$mAmUsw`MVwc!oyc-6JKl%WPwi^nE z;=-~oO@3*~RMo_>1(nRf4OP!X#DMfP!>IX#BBuJ@YhCz9fgxLeO(YbQ91Z%BkhShw zZoOcR3L2~%4#YWuIZO=1sH{ z_r6mmd_SZ(sqk5-SZsqvY%;-%HO(g=!m@HWCd3OWuW{_vWv)n9yPYZuwjP4LLA4-4 zKoMLDwO8S3RQ4+lC35>`KSZLWpP%BZ|CfcQpY;yYNZS#&h|zE>3@_m5^v}WYb@Spz z1MlaU7+?QTcUpvV4%pxPko3oQu+W%~DqLmW#wJW1XoU+9!H(1uy$2zBJBTj#X4{252#xa$kUmdU|zs4yHr5BFv*>^H)%plE)*k|xxH!u`LPPmg=izr#KREo`03L7ja0urm6%-gvh zT8Pf@97=S_5vzwpu{Q~pHZRsT%uCE?$PCO!wOU6$4m6b?*U3V@RqH-zA*p$LwJ*!R zvF9%}zRQMl{LTf89lnvKZbvBzv#%5H zzN&m*}CS1reS7cxPFnkGwS?t~D#bf$4vNq+ExONE{kewjY}*7j1FZea4H5QJyL zPQs=90i`ZW`s#;qPT+XM5p0jyrl`lAJv5LyGhi`nP>~TQk znR1ZxFh*ONK%}JcZvXU%5C4dKfc9F5caBAAdBaTSis-ziYVDyHs635tsmx_rbO>rq zuH*qhBBX#Aul|QZMwo^Mt(R7*x(bSy=_N)bL_3?>s&Vx=RwM_uFvgZ4_aasZYxwRk z(t0Uu;KNvsm9C*Xi7lhilz5Y0Lz#B%65}(BOBMQ|=fcf{T_gs~q6i7R0l?|PSNS~& ziIU}c9c7@kOa10F*}<0(`FTM=x54EX126VojznCawr$zbL515%J6@iZoAv5@CA+18 zpX=!YhEi75Lm+XsSd%04$?A5RM;6-XA3({N{Ahn|hU#7N#NG>OlN+4~@XefbyI6;* z@Li+Q8^o*2vc#Ig1f;YG=%15D;9*BcC|b@jwLbDM!E}j2m$AU4lBcn z!(vdRu-;RDADx})5}NeFw%3E_5@|ck5t7#I{VDM^lpUj}6tX94IpV_{eVZ11 zk`Z~fjZNuUeOGOXS8m()^cH-oifJ-vkJCLXn=Xg z0myg}AL4Sa{L{~U)+5fJQ;ivq!BZeC)cWm4K)6+T>iP2Wfppe;2vLT$7RKI?l!Uat z0LAMmWUwL)`o-gR(#|bX4P5cbj0G3GzSuUkZx((VVc#ct2zBSxAjea+zB6KH>*4c^ zr~5R>+`oB5`BIo^%`wSIZ1WjD&A^vZ#$Aog8{^S2bDaxSPZ?o`$}ULif2bA2E9PBGAbZI z6sHtXyl8e_@;Jeevy!bBHI$`hx_z?hRs#C3ARv-0Cm*8DFw1Z6ydq7dR=H zOqaDxY8faIxIYSsEbJ@({DEeMCx?u2DHTC%7gH;ZTrdKqrC)aiaW2p6V-O?7M#U?h zdPj^rZaDfkpEKhS<@H^Vz0Iy?TpTRAb)X32yC$}6)x*JBz&q!T6lQZnPXYX!eM|K|m<*GY`l-p8PLi0P4rhk<+c^XWh=(c6d z_(YU$i&a&wFg4Lr{MR_B{14r}OB!p&oPQhoIgG-A(~b2w{VN$n5A6zg!3tOgmH z@Lagn9T=9e+-wy;75TyS$=s!Ua30aT2sb@|G0Nx*^2k*k=~$%AqHgE8{a>kti23~Y>vy1;~W zBhx%9O_08VHJMR^4Xd8F+}kk@X_IUNkI~xTfMzFo-8IrU=*@#j-{rQ4!1Rga+Y(cj{zWRirm3)YGtJA~CmjV~ zE|{P0QY#}Sms{Tq+;hz0srG?;bKJ^29lKt}2iAJUvy=({E2q72%6BtiuH1gX$^H*x z^ZF?tXO`hI9#~%2_J3zk+M7*g5q;;d&GO=#!HM|!yZfkD7h;V54BB6ZvPvuc9vq~k zO;i+RaTZ+4l2X%V*-dw53P1fSnhuz{ArWZ~i0D@x7YaD5D7dO0zUiQSa3pk=0>_S} zbuO?{N#56Vd6%(lc0dO2;T^MJ5E{}~4tv+PSi!9&MZ!hU2AqUmp0kuCHIcom3Cb=n zWI#gK3t`GTaS?EBvpMvs{pV_}ZTT&h}zGhjj zajWofvL>abHKM*xmrp_#i9+pfu&j4 zCjQm2kqiIKLM`iZ*c-ytl`&F%FuXanNk80a&rICXAqzK4Q;dAETrGsR2}L@#CvsQR z#r-^3%c&?;rDK43le(xhu{O={|*S-93 zxv-Z6-_Bb;K5_?2MX*&=02$B98Yv8)Mcdh@%Z3uh5iw#x(Q*y^F(n%utLg!JGgEdW z)f&+&}>zMPXAUq~Ogq`*x9e|J>jBy5hH} zY}52%k-hv$FSdHD`e6%8TR9i+!Bx_SfgD?d()~zJcU)ykUX*K(IKaAiGvuDvc`9sE zX`h(pk`Y;Bh>hVT{^8gu?kf3`K(H5wnSj$^isYg$(^0@mKM*PD+JRPYLgvlj-Nuq4Q2yS1$gy^~v_`#V!cp2g$>pk`OEMCvH&G z`)?gD36po$%a0v8PNyz=L_a%UJw_!zE8u*L0|m_y(UZ=p-921-_c;-dJ8L5-M1wFB z8HoC5(4!_{-kfT;Datt1++58?hYrj+LX&bWiuu5tQ( zOiJZvc0k@S^3kvdM($ply9@4BZwP81l7bJnURPvckl~B5s)b{TGn_xfRxvDA^coNxc1%;+z9;LkB(C!fPP{y$&0&o=x^lxjt{fd77v|9!|% z|0PP3(LFn`JpqDpxc6h2EMP2=eoI}bl&PnhA4Q6vGJLk6MmBOsryG(dFvaSG1n!f zn7ZmsPzP#D3hDl20ET0h_M3UKX@_J2>IL?b67j2hKxD7zsRJ0GWb@wt73;<*HvxQ zUt`um08O%rZ8pX<%sQa_u#=!|mpFt4O2LeE^opm`SD7w?GJHL`ccuzWIS>11tnilp z9q(U1`rgDB$|tLm(5ZY9k$ja7fE^^dTBYihicIvqHNJrl*XC|#YTW5mFz_N2p4Cw; z{dg+RAu?+<&oww0_kd`;`fxoVk}Ead`!PIO@WZFXP#Vz;z}}L7wX`Wb(fdpzJ zY(5c&vD7ej?}x0-RF;2r$8UI$*J4aCyXm8qYVLQT*tgerBynd#Ps7iAwRvGJrkgP# zUrc(EeqU|AJAW9q1+Yf;*62?y&X&6u*%IvEca#?|hX(c@0P4;JVDol5o{)x36Lpyf zqDd3~hrGMLqQu^xcU^v5YZXubGF!vN@JVj*)O98QwvZ+tQ`Ky!+s2y07cEkY?>cjAzNVj9SsolhW z=Flp5ji%N041MWyiwyZzwXF)@A)EK*v-dvRNG7}i?7{2#tOfWI>58Sq3A8W#vPg0_sPB;XT!a&NMA~+ zCPYB>xb@UK`&^pe-~AWBtXR@WX-EON`4ARw!Mx`x)?cPU=b-u9umCA~$PSl~9paFQ zEH%vXBAUX$s2e* znGbJBu<`bulqucKs+UOW;6-D=YV{~uw&`w5Rks+Bo`c>V_DR2Bw&fs}yJIxcV6S$6 zNCLOBt&c6e7027YFhXZ|s&_m(W+IacbgvA2YO{FI;&8PPAR&mT1nBLAyY!Y%>w2r+ zpZG7h&-#m{y3A37N|v{1$gkJ-T%`B7nZ+2~Qs>Zy#K~>qUDqz3g#^L((r* zuCnlnD76GQs0gl;$!=(RPUZycN3;=X{{S?YK78?a$W#@nuNPAdXebgPWMQJ9wN9;D z!omGkS30aVRpw5?*c-QsOb1yi7I`vtLj0*&O%rxgb)GJA;d#v@@K$sJyEufr7JYpM z=eH$x#d=`6v5h_fkl$?ijjw8rvxUYiZ?Z9q1tspR$}sD;l;%??4fKa_Cl=E(Wf$@5 zkBD{guCH!S+ys+PU-h{!f>Rj+{w#fAi2QZ^>x}7R)j&#^)miUHlFR&wLfdpeIv`&D ztq|7X>6bYQAy>S<@5{#o<`fnHZMJ^IYZQPGdp4`b*H7UtFVpH6jnmKhOrSvRjiM!z7K`ytj1hhK2cJ=N+a z)48mMZ8qL-LQItD1mTGVp^Ke_sPEvfBHrveABOAR0AgnBNkxwgLS!^l^sLE7ThJ8d zNc7>P9lHePLFw(ohZQG%NVOG>r@P=j;!ptd7yhF^%JcXPAgw&t6_z911;~3;faoYI z%UX1hl+`)U9d}5O2O;oz;WBz7uGu>s&EfzuA`pPPJn?J)$V8V#R=> zBr??kFk6ebSjg99xPA|bd#wD`B?Le!Tbe_vp3=^Cp?scp@!aK;*(!s7L9jI4RnJ?s zYw4j+PTu#zNJFs(0~Qd47)SP8E2Rm!Pe?-eoDA~Zr!1-`7=~|4jq6@EccO4(=uZ$x zjJV`oR;F7m^37o}>cMFh#7l$wnWuXR5%1q}uo?8GHBq~@6-<*5pqw@aNb_rek8pJsb6g*_^sI53vDrze;)q?O)DY3nKda9Jl2#~-gTm(|C_)Gcd4LH z;Bf-s&MgPO+7I@wo`7XpZXM%;XylSo(o25Cb)RTd8Xv5wGGaaYn$P~KIFYhom1|rV zV>U>G_)8M&owm?zo{HckY5;2XB*emU1Q@~@S|*h{oj_@i;*MrU5L|%tJ<9ZKHqlte zrMDhWj_0qlSb)F<&|}W~ixf9$Q7{F4Q=)CD{nmdB=Q^6HB4Nx}-_U}*(mBs&J?;I1 z1e$I!i+MlB18L;AJA}mw?tIJmg-rOH6Mf?quB*#@f&lB%v6sloOV+_o@}Orrh)il# zlN+6|{THCM@lNyB$A^r`;)Rb$o-qooY69rsqdhGdpM|&fA+TgGHM{eM zC0JSC5K{3|>BWzyO<=*3%x>@A_K={B68QYusx6NiB(l`z>=FS1QeZ@XnNeUO>=OU9 zkv;cqclq*gKuVcX1d4I8Kq4Y*luw-9kAcWj!2zY>*-gRyGMLR#$^R){_GP+>Fhw$h z6lV1O(c|LnqA0Amy`Dg#G&7sN(F2x|&pF9q@#ZMA*7fKHuZZ3nEB*wk^? z6*^;q!Sfg-O|t6cr$JR=btuCu@k$Kfx zZyYA07ND?m!xPym_p?mqh1)ss+NBWUyk1!rEoBC&@DgpP-=Si zOr-TQB;6B|62-fOB!(N13X-pj?55%xWrX?6svTy$p3zbf_1M zQ!5LKvmM~HRigRxPXF%{2hV7jR$A_IdSytakb=L5Hi8JH^}4L2{alr_Gu=$ypG$?J2~4LVgH)Khd7)K5so8?*vZ51ir!Tvntq>Tt}IwTdKv?);ydo zfd?u;5~{zBSksQb!E#ehucF8JheIxtCaO5(95rJ=(;i0KfH)Z7&X3yW3Bw_6B<)}B zjw?rf7*eU1D0`^o4+}|ssjSqQIhdooRAG6Vg}#}ZqHRv@KRw(fP*7pk^&=Vr!XvD^ zyje9lba5WfS|~9feIt^!%Ulj!89mRe6v>LJ%S}|X4wvkTtZUlN_wCk|>SGe;-+d0^ z=jN>&2Gcxw0v>!c^&uH@!uOj#W1eo%^O9Ov$SNqAwMyw?-?R^j@%K)>Gp+AS%B(B}2_n0jWjd?u19vZWEWhd>%>j$B20qmr7&k%f{1Q@8Y$=Wb%`gF% zxgkVSE!Ag@-wLPT&Y6@aPXtUzi4%}VW)|Bt`@YS2i^FfRdyPuwMw+h^S8c~e%Xh^C z;te9m5~s!tP*ugLTBg&^+gVVFtjYW8(N*h+M z^4FPM9*s1Y5fyW@rU|;&f*b+L$y)Ot$pllu$%fzC)X5NJQ*mNs!~x031bpKWXh9fd zn&~Zfto>wU5K4lJlJJjM2$F%69U}vcI9P~S15un#e&-CBrww4gZnHHQ2D_dn6{(A( zrP@XW+#say@!z<1gA?_p9O6`|BT2Cst!h?ivakb8(jOy7(~v_1?m~@J-e)rpNPhhA z6L+q?twi$SYk3re@!@#u`IJn#(znbt(#qBBJw9UuNETK2c|9G=!m$*ZTOuJ-orUwy zyGT_m>KogFpFPE=h;_OaSzZBMAE;(XlR}GC`iW`U?u(dsCnkQF_mIEA@3X@oVREku zox2tm*`gNjP(hmCmuKy*${jU<3y`nKt^4fO>!`QB*68;LdC|sQxhC@DBRlBpe zNSy{6&zW|jtlIU@E?+yGRl1<6@?5-Hf~z!sDlvBHU}0e3HQ`A`vt~M6nDwF5Rj}8j zf9CCD`sGJ|!Uz3$dt|smIHFzz*h~;uCe^ue+i_;TUL+V!ys1IrZ^$SU82t9h0dkA) z|AI`{#KK8!%6$C7)_Pz{Zzk}#*V3e>)buu;HlSVUyLNFwu;uTh#9ydR|yY^&*_V@SG zhw{>nIfuP!Q=dgNR0*5&f=_eU$t?#K$pna2sa^JL> z?pK?qOXflMFU(j5BUUe{JQLX*UK8`q)MR(0ql?Qvr?>I*D??|jz$QJV*-+p!&u z3DS0Y;}0wFoSfvG3_7c8Ejh{HHLtUkf0vgx!e}r{? z2ypgqBY-we%2CH4hfgYIAYYaj?tYw3Md1Mk@hoWhCYA)|Yt6ctyxS0--njksv*U{` zV}kg3VL%KP(&kcZnhTA~qU{jj$ zy2!ukBme#A&k+a-ltl>yTebfAp8xr5+!LtPU$vc! zgQ5Q8lm1;BM};sIoyEa_P>{)|M@Hp{I{6vz8-uA`=9Uo&+~C)z#hWg?Be9x zKNaAAW|KWW?>QS##Jui6T1EQL_xiFvn~Y@C`6S{6{!+$qCra;^d}v=;>}U z1Cg+x--djz&M$p;qSt*B^?mtLvJ#z*KZse#ITz#|v`X?&gh8$FhC+R1F7EB(^Yg!s z1f@aKIw{!W%W(hgQ!FYUBPt>y=XLC04gujLd9tzGbYV`WY1{ase4_e=Losu-$f%_J zWHhfYJUQyE)xemIVNx-AWL_l1$ui(kgd*!-b;RdI1ME2_ldd7+D?(ABLqUE{h61a}FpyH>>zG%DWNfwJn$L#8XA`*ueSVGK{%317dQa-m5ohPOw4792K2XVrkz!)&@)Xp`OImThX1WaP?vMD`BQ|YB z23R>b_C`KnmRtWU_>!pW(+q4J_AF|W>TX1~$=*w{tK0jd&ip9T`0I=y#a#5mN{(vc zTF1M-L!&?@1|%o(w%d8yz%l1LzwVX`lf!dKxaUea-ElpVK$X~iph>k&B}<5IN{f>Yh@zxcy^T3bF258zDut|CnOmrzja!WamgQ2;m(Moh=;iBGDhq-N00OC~ z+d3dO-=T&_r`;jm_VjyY5V+IUS^rVz+H0ne%{bsJUv5am{D8F=k1pFu)#9&$ZO^@o zWx;4N_)F|ZG=Vt?eu6SMXte(-o+K96CL^jYj7lkyN&7niw@2AZ%-ft~Vmh~tmgQPY zq{(m^pWat^A#XTg7GrApm?;+dI6&~&FNbv^#o9J~w)x0oJ%fKZxl7P|{`wS%;{ZB; z*K1{%-%QLe61#E7X)&Wo$n8$w{g6A9v~ny_)G(UN_cui8Lpa_j*HBDqCBiH&c+_yi ztH*B{8X(FUj^h{e6rL3SN|l5ccOlVEF3a1xqHR9RmHkiC$pk}YJoi6s>f}-ClYqtOtIPsQ0n{;tB+4<_pN2q zm}W5Y!4|iSJUpQ?zHwcL1#n1Ut0)43Q&h)H|GNX=ef-33VxX_z3|`R|wSNcs?r#&q zR1Wts;~^8Bb>A8yd=cp29SGRS#2g`EGg8qgWyI+UxKhcwhcfLL$_QH7to6r=jo8 zr&$g9=K4hJIt&m-1NSxgayvl52RQ|-<56Y5rt`P4fjN^W^Y{TfJ$o8^VyCQ0wJxJOA;Y-Qq>1+iCK9{40kY&;a$1>&x?p=sneC6?_<{{ zzQ+R*?LB$sBZ{oTmctQ?SDi2Ga-_Sne!>%IU(SP;^S{rA@p~&0$XOItOwf;6Ft7Vu z*UK9Ff|Ps~%WCQ33xLZIHJ5VQBzTqiCG*%YCMdUl=k0hxB+`i5Gb)W8aMWMCy3?N4 zXx~*H&67_Se;CM}F4d-4e0y;%kUzL?P30MGZy{k{k9vKsz4;>8E0D7z=&%)3;eWk5 zo2Xwic0)|r{iR;ZCC@DV5ia^7;(we8cuXhPMBbhyH1R5iVJ9AwKlPS=SMt3mF|x1g z6+vfwS`z5AF`Z-Q6va5VX+3-8B&0-CYVO zp*8&5W zRiU)11|9ygU=(HKk3)~pWSjGDH^{Nb!hkxcl7%EpvFu zdw|7tGH=rStRho-q3X($r}=rJb<9MgW(v;vn&n}40a(oGe?xER7r4|Sv#ck%`ZY{g zq$?ebX^+NwnjSNc7OFS!@m9b5%<6EaBptl&qm{-ic=}d<6F73UA%U)dqVdMJ!zcZ3 zT{o-XYi2DJQ2yd;hmU=Cy{31Nf7p~(=lMM*N=c)URP;fVT}V&DrG7ZgSnOSr1w4@|)Bg}5Wdu(#^Y{t$+Wnz`ckN#ChI5Gx8URoW-z388k z$M+9L*&Q)aR=m!0o|q2LhKqv*c!f?67+onrYLp=><$?ajbSm zc+TGv^Q5(TRr7%74}8~NpTQm6n|lRH1QmuSE^&ni@7}>dTB1dC<%J)tvY#r(ko}f^ zS}WwgA&iUjI!2kxGkUhW=G;dk6(k2`1tmk*Y7Jb|=U5Y@XyG&>D~6~d=qWZSb=06q zXZ&{n^TNwSg(AZ?5`WhRl7*%wIb{)bOZ(jP*Qe{I>1C;3ArI_D&7P(m*(sa9$`y@h zAFks?W@|YOg>Ttqm3bU6<26;S*@*_Z0EWjrR`k#`6#jvNE{R@Fu~{!qBh&zt_PzMU zogEp9JR)1oe6AfzId?q5fF)|f_x+*7-l;ElU}*8M(6vmK(W&)JRd87{cWgF~mcMWk2n6Wg_>8ejITSG|mDr=u!0wc%J-?~<`{7`Fv*oHw~ zZoqyyE_Zv1#E`7Z1<1nbXHm_D1kLBejx7|a1+rz+;r;QQ6elkO~$?mTxNP}|;PRto_Ud98K<8>k$EGszJm}8qC%Bn-gQRwYeavafvp)V&0SchXLReSL zZ)(Jhtt-a^ZVo1|29`8x74|jq10_;KK+@~xv4q%CQK>4uy|UKYKU%CQZwP(cz!MgH zRW?NX#dL~^P&>WDoSYxxu3lwO;A}c%Q9k~qrrJDi(=k4Kjduguh7P6}w6j7}P}*Kw^0itI z^=#l%9zm9K@R#5g;a>Tiw=K~Lf3^82ekb3cpF;sg3CI1(Ox*YjYCk(lXr3xbRRVDs znio8T*QH&YT|y3oo&s8pJ)xR8EO3w;?z!GXd84+Avos~fojVRmhpP~v?wqWtQ``BA zc&#c+oYk-qfyL*1i;PyzT}GmTqJ1tBv!GI`V>nZT3Qsw8+r_B(GMZ~F!vBaPG<;bN z;V**8fCIEoxk6={)$UGLsTQB_s)2+Z(x?2+)=LWST^utx*+i{zsefr!Qw(Y>__#cK z_txkiH_7ar`J8DKxn@3fwsQr}7kY2sQ|QU2*~%4SEy}k_maBbl|5?AB>=#{O9xdKj zpDt2HA9+Gyot_&(-)a_V_AIjQa_%(_fmW~`x2zm{39n>&?B#G-`tOfrTIO>U%OJG4 zm000m(qh!^N6&)3gV-o-#iSzjlRWDw_i=a>q>{a?`$xydXYCvI{Zl)h>Dh?cO<>H( zXr~nX{iN#N2YYE06$IXbvuv0U@eEC-t1tpnUZz;jLMNosI>_0dS=jDH<|~ua2Q`Xf zTe%$NLS{6Wv~)KiF#u$cBi3feH+JXxeud&8zWpH+2&i)ZabhceFBP&O0;|FugjvY! zC-hO3z{w3GiXa|pw>Px%B%YB(LK|=8p&n&am4OKPK6xyuB0+UrLL%UfSoZt?hsfi_y3oE$LGod2G9Zuw!mW}_+HC~h=`iEbpjx-I-PqaXpsCInL^ z@#2S~sc}{$wn>~u+ljN*xV=+nXrTV{GUIhCy)ec|W}W9dqg{BoJwlY&=ujuLQ*{;7 zJhCykv-66lhv1c5Q?Iu|yu~0Po&Lppc@qA6Q%iaP{3m_DwN=KE^46I*HS?Tm;fGU_T`deU8 zxR-W~it+Lp*LxyeX}7(Y!#y9&H`jaP_@KPy=GVgT6Tc#D*BjU8FinnH$)zAM7L68H zqdcjjNwy+cN7&0+8U7`$& zb)<6!BuaYl_?g{r#LVZ= zMrsj0m+8|5DY-3DON*Mhi|iT4AEL9t`300K%V_$9rAE)WE7n(^bGuPgeKihG7I*W- zxaR{2t{OwKR{LiPdCQbU6>ec<1few7HRK8>r1%>W8ln)?`$x&+d?Ac0M5!+`ZQ^`G`ATNZw&cD11pFM-36Cy-H8uM*JCK(Ma&H)4x z9|Fhg-sf>Tyd!2t`89b8x;b4Of3csV7xRh*BYuH$zfPa*Sy)GV4SX~%tgXDJm;0uQ za718b#+5GTXNiVI3%s)L(lSYJ#avNEIkS}2%$HKw;0B@ou|~h5F+9rH3j|%KxZ?%3 z=Ibm*6t)gfZ4Z;A8hzu}o+}0NdsTTr8x>h=!QBo@Oo=P*jw9UvM*yL?sF?!lhS;RB!i^M=5}g=UMPl6!@Z!#>wv}_ zl+)R6p;WGuO*J1p1xoMu^eGNXBUb5_y(;RGays1VzY~F_iD_TIwVJH1UhW^yc)7yb z>qqlCE;jZpaUk>gV0WLYWoV~wW*j%g4~E)K=h@6(BFJGlmVuUhEdnO91++3cX-b`O z1I9$~Mq%b94?;PDrea)9In76O@iiSpYy*)3+);}ay$DbTJ)5^SkXSI%DKnCw=ElwH z47KfhOExUU>&2s}jqQz-9<@O!Hog$UfJG;91!Ddmhs(y9<=X0Vk;mXa!^o4EF{!Pu zSo?+;3m$eYr>j^Zs9|Ux9v>{CU$wiRhtLDKU)XUZ5Z`l;N!sC?##X&!9-kMF#XC70sOb06FurbV&W z1HiG(*Le^#;Yb97Ib8Z_e!QOq#&j#5KIQCWOAY)-DE-YN8ozV_GVh2fM4VoStCxZL z#I190`8O9Y^~z0jwyjLkw6ELN&_0YZJj;mnwQRc4?S6oV1Bl_cxa^NLPD=LthA-!z z`>@i5`8k&-|2pyU`u1c|vp`Cf)8TC1L=|wF#Z8Y2j@*J5XV|&8zwcEIbQTP7h$XPk zFB8U^i3mqngG+QQ5y}hB-f0%ktbdslflC{g^^*byL(12mx~3OOOc5c?MbYMV<`ojj z!=cAa&&c6S`!(O{G(#C>`4At*0~Od>$7*QNNE5m)IytQz#f=~I>gM#*IAp9x1=7!N zOd_R!M_TqUv4J^OeeQUnl{COL!nOdD;d95fHS|`=3!~2_eiFvvsV8<$gMD9z{H?nM z44Qm#T;pmQgXbp=-S#gts-i zgkVcp1!tqZAGFOESc@{R#l}IFvLz#mFm%tM;QoGvzNV%?iB1}GtMD72uVzS<$GWdR zpx9m7HXjk2GK`)3h0E|@^)Gm7nev6J02`cQ| zz%j%Zs4rDYF3lV_omCYcI(h_OFuSWO*1-v|4d=$8QOX_7rq|^OoK@~oZE!^{l zzl9DdhruF%l)FCYGuM#Gn^kH}MywG@Z1PTg7B=Bc<|q*Ury!0!m~QYoCR=gsE+afC zn&qJ$wb*Q1O+k4-kMpeq)9K3tmcaI7FAN@&$p%pr|S#OA{#*E_=&Y%lQJ18vg`k2W{fE@{}V2jLZ+$ZWa z3_(U>e$y8wrp?-JU(ol>GnC$e*dJoBw{q?aG6l&wuU7Xzza6!y2;m{180s%Antd7C z7XDx(;J?djyFjkHZW5?|iF9WryxeGIzp9vNszJSoJcl(HLV9Us1&1%YvPoJ4ii21w z9+ds;e7-QGN<&6!a#`6!$@g@an&6Zr#bvk~Fr^Swhli>&W`(z~B_(H5E+l}zWrQ5ww1^qyOu z4^?X|n|HnAFpo#i0Oh+6i~U781ye6FbBI4pm*>QSI$Gbty72&~u;9XF;Gd8tQ;M-K z{mG@#DBdA3Mml4}V2GYoKiBNKl=?q}9vdW8rdP{3UlE{7ZYNvi^|6HzWBlU!3^4Wr zcL@mVR2Swl(eL$QMwZlkZr!g0JSd#hg%$CwHQ?EhxCGsc?MFRA892ORN}%H(JC{dT zGei8BqLoMPPbw`5PxO57=qTtQH9-u=VYiU3u%&C$b59MLy0msLj} z5uXR`5VTO^>Xc)s*Ted>mg8kx#Jp-1XC0n$^v%BhX^~M&>omr{W55n3V@;YPzgOKe zc9Q7Y3ZF|q(YJb!Y(GG9LW|6LzIMG^prDra4v3ToMPj1M=mfLX@wqnftT@gZh zx=2!`&Stx-mkZp2${u*l^R*C{zasC)XRKAft36HBj~2c5j6i?~3*o^6ii`?!aVd2L zs0YNTVwMTNTwaaBIa#$`VAzVh-po*sGbe+@40b?N-L4xW$FqI3Wf;zH3enQFLJqYf z(@F5?wpKw}^*{s4hqv#D*=+7esFe6Z6wYF)Ir>z+Ru$Up`dT~h!0VMIqmxk{v$OLH z9ev3~WYG?x3TzEJ%Z`}4dB{=dG9W|nnaEH}NGQ{`(93FDb6R4bK2Fob7R>}WFAfx+ z3Zq5BeW)EQ5xGE^@yQX5CaH~Cr=GsxJF*bjxdVZ*L6NU!Sh`m#u{{!Zx6?{(d-FBh1^Lm>34W?jQp`DcPm6vKo0 zvB*-DT~+I2X?r0ufA)w9X)E&q#o^IeC z>Nohue}^M`jBff?{ptguex^)Ah)fCk$~C3>9%b(Poqk;5w?OoswX3`=~7+zoOJ~`*u_nWO-RmI3q>S%+B6K zKgrQrB}cqDmla`?(`uE$vIb`_B#kV|%ymu`ks+2x!W>s9>1$8*FksbdnZ2|h=VPWH zY;rgWPLg^&l25Hjimkyg=^;d)arz@Mv@dErkhgY|@C; zQdT4+J`!2`E2e-E^I^S#9)`<;=GT!^=OvDQu^~1jI!%C5%Ow;2;4B_{f=fRhr4{Px zmOUa!tkKA|y_*Z^?wfOhis8OAi5QM^`W4MdO!MWgm*fJpPT^K?c_qev zzUMl6;W!!Ai{wJO;Yy~%6rpF1vN(X+=AZ!`Si!sXhm;q*fHS6a~N zt^kG4Zl|PjAIQMVcCBtluvi+7DMaCsNw`F>*g zOBZR8^~wMWR!es8HfrEP;+r=VMoTHf#^pu7S?RSe)Wq3^*Fqd&sQxs}T#JDhB?!>A zobJCP+D95_QOwf`Ck7Emuk&fq@-!(6s!sx_d!n%cD-D^)mI?#&c6yBqCy{3$k5L7a z)hvy@XO8VLTFe!_k2WVlcHrJ|+|NM>E;G$kt~IQ?=aE8YqY?!=I$Gd&-I`xQ-Ad-Pa`*6&yXFErTuow1h_Ysii~Ogjzon4)TgkK~EtU zCNO|kiK*MLgGJEl% zGO|;{Al3mc>7k7?L}FETA@msgHc27z@#v$-iktZPB8kWHREKo$?5qOxXydhsB$cHl zhfxKn7*xM{#yI9NW!WE`@6-J_=luKryY})WQ}`|C2Ptpfr=x;4e!RTV>T%Dwhuz4C zAO2Q4Asg6UB8AU#<((Se6w9gbOV(X>l0OJwuVNMB2w5xlPMHs9fBB|(h<2?O;~}PW zC>+u#10V+eDkP)+@!>48P*KY2IeGV^rk#Nq6fu^^8YHwK%S6N=OWNNa@K4co=|5ju zGc`+AM0Y)yGOknSgn6Mzvj-HIYJ3e{6WH!)GEz?4XX4qH^Ug#qG$lHASXsX(iyJCc zdg28dkjaIac3uQJx+VKO?UMyyz*y-!m;dr!IFOy4waoy2Ao`i~5`CjMM8Ax&IB{tZf$=n9hUYOUN>^IgBb zGShcIcmj_B5zXmlEGD(VPC%Qf$CHoi4GO<tWFKE&pL7Nn zi{wsGis!aaHvU1d(ObFAWEurth~LNuK9?otLh4-=wf}YH-}Ze*_}f$O<7!dj=>`iZ zWI6HV|GSZ8LElgktZlzL=}9@tp{ATy)G2n0moXXTs@MPYz1kil_xz;!({Z!Fl;JiQ zXr!3(f1CFA2XF$_VW3?$vp~Pio2hvKq|4`=F4VH0^4;!Bjoo>j?bD`qrsZ*gYBy(v!R8s=f0iG&JZT{sjz(tr0p?F z{tgSuILLo6UDaJ5-5hz`;kq4P;j0_3$mCMIJ6SwEr*!UoeQuhJA^SM@^t2sM8}I^K z>c369cluE}<2K;Mc)3M>soJ|YwscZKC}`=9IJp4!QQ}|2NEB0+4(TVV4L^bG3fE{F zn*##K@Abvztob!i^kmbkKRSCFKb_-2l3ovJ(%dW?GQ1Q&*Wlr|J3AlIbrUSC=BiMZo=pJsR)Hq;`MEm^Fphlm>oCf^vcK&CK1d7J%W|Ye_TSl?>-z9p1D` zF5h}E9wTbm{lF@8X3=oGUMlZ=Wfq4?wP)=0kgm>S(%^a_Sy`{p`FM_n)+0}_bRgH` zZPqV?;;`Wq9XD1OQCFFNJ^MzAglO}oEBg*o1XF;%@frc|pS5wO;J4W})#WAw{@k>V z9&GNXws)t?mP9;u7V-uuPi>c=34mbEEk=r+Zp^W`vdt;dzSVVa~#n>h~?rmjRh1yAq2>=r5r=iq+SgUud6+t)DlB~Zm(&{ zzi`2wh^F{bi}u-Zn@N9g6l4_-q7fR!Tmd!E|CMb@VTQ zaSh3uwKzSuQG{X`JhS%Y_QE6(sBmq_5!B(P2TF?Uz7uj-^R?LVIe+A-9{hhM>ECs2 z=ANBuCBY3RT~S8+je-}v*oyAoOe0N2g33gWWyTDr1$V<)^Zd)+qyf;#JGqDX$-G0T z$^6=aiM=I=WvRZQhs5rhY$T7WRp7K$ioF8R@aw#paOOuQs(c!^@~n+fHT2z(CbQ`A z)>)pfi9R@jG3hak5jWAb7G@+5+;&1{ICn>)$pLGmYgF?>LaGP3>@QqQ+=lvPNqnzC zsFk}|#=3I z1C6~i_)Nca^qS=4vWo3CiCXXn!bnJKyl5bjKsK)(H}+usN9DP4hsu)VjtnDrD0Q#$ zvb)uR_z_P&N5-*33_ARGhHdcJ00g>{0Zjk3{Qtm#C4$RD3-dWW@63)KP2;k}=NnAG zK^)DUR|`wUVxkhK-JPSM&CqGIEgLp0_*N-Fh&A}7T9u0tN)oJFPUBMw5x`pe(<0Cv zO~#pmT=koKCQaMEteUhih*+IEauoacFe z&HADc48|SmXs9)P& zr$zst3kvm%Uv8_4IjPp`V6iS4@tIC}E30|-3!Hjg3?F)X>;MDt;%erTu z5=0YWkEC7LXUX}J@SW$3I39rRY%bst@Eb$<&}w69(?n;*F3(|Rgyd@Va{@@NgJjWR z!=|xPzttTf71e_bhlt%Q<5UEaN@K(Pn$B!s7KZL0D-qbyPNkz^c(OVVJsOYI+dy3q zFU|x?+P_D zyXBG65} zu^3U%C!5#)<_Tr3{|aP(y0j4-*(qC7=RQuf?vjY+jW8>_yCnqPCqrJ>zbVH*6n+{R z^d3WR<#!|F!euhBK>P5CJfA5OtC3+q^8cArxELxhoUyT-cshtVCZtY!s|{S60!egk z;SDbT-Aok90$4MYpv)yDimsm+$xAlce?mY}0MgGlg!lkm?f;*rL#?Z~nD?Lx_?$*pzf%Uk=^=J#Vp~ZBw)Ck&6{A9m`aDfelqm zV_y7xljS7QH`fMzb08dQw zUlWI%2NU}IJipUy%!d+wn~i7j48O(@ni8XEtyeE+_UjJ5nihJ;W@Q~awC!qVMU>nB z-A8yQJ$U;kJIUpQRy1d?hH{3Dp!-;|nQiymn7B|zt@dug^%9u{+N<2u^*H6ty66y= zZ6VA`AqSnN*Nt8`rF49sY$(9pL&AU9INV&Fd`3HM99}f8JU9Az)qryz;G>@ff(V?o zjS5~ZBs0v-x1ReUS&F~U8u~4!AyXH; zVwvYzDwec`Elg}F{f;DM$MYZ%I%__nBS~CnpZbi)b-tqUKkq?`$Jg3@l!EEV-t&`A z#($kXXSc*>FzLwR;Q7h}Rr_OQwJ{*$WdFM8h~T_GY+BV`^-G8Sm9B2DNkgn3>IXo0 zlTC*H$A19;H9ft%?}WVYKuHkX|Lh~DE7tM1zRjJ(ISih<$|=`erJsTOOj>1Mp>iJv z*HAy5OpapdCDY9BzHDWPr;u|I=z{Y0dTrTZk+-_@lGep%TwvVex`QJ>=3xrO%HgQ{g-WritbWpxM{at2iB5&t12I9(zX zL=Qrdd{8~kgD4G0%V+vNOmGG~H;n(yIoJ6>!@bQqV57xmkLB`ZCRBT45oGL_G8cnv z$EF)M!=ByJGGA|7$X0vxm*WEl|3a(lI+e|yy(^|_ z-bI%k_UpX~zQf-w4|B^(fv^bUi02)tlz#2EcSN+&^vohew_<P*gnlqblu2<{HDpmSbiKjlUocEH$2RM#Zk0eJhe` zx}j6a;iHN2Ore`X?`^I5s6|yvX%a4ZS^Du9*LWh8jBU2%$itXUZ3de#85w9m7?WH* z`iVVie~Dz7`(vo2tfXfM6rLJ9!7!dcPPnX>TAaEonq>j593ZjkSw z)^+gxlu{EMqiM`Q*20Ggtn%eX`0mK-(R7vuO}db7()Py;A2QFWC#pG+1R}aF__xcX zz~qPm{y1?`$Iq!T9vqS7|&}fY-dN*W;HtMU}?wxu#^(!-XM#vjnXKr7uqwwe)-rO`$ zDF*HzhLXIjbUhBtQ1BRS(a3~tfd_v&QpLP5PCM+jDWJkmLV3#*Lf+Z6yQA4NpGVCG z%eCTJ@tEeD;-%xcJtBRm&Tf{azL9YjbUs`{9N^lw2rH?N5z_>4P_%102wuyCUYCv? zvfF)LfG#CJ1+l}?NzepeaW)qHfyx1@ir>aD>t5pBOcEV%jV_Y8IzVo7Z4lw*_18WH zqZ`EY3@5U9l4-SruAM=63uuZ9O8J7p+E1c;epX| zREYkDNu)sHoJ^EtZzLzkV5>#xp!>W$Ao-F%wzmVv{>=2U{Q6+qon^7zC;j1zlGZ$qoSmFu&uBVGy zHH_w*BahAQr{{YJgriUeyv5qzYZQgK8+`rQh0qzZ@N$;u)wdAyxS_Ady&@!?#TBox zUcTm-T;{T#+Zb!*M++!Y3dcXG8}%N7z#^yuxAuuUEk*M9Fugk;_5KDDfj3d2wt*gp zw`a;-e!G~Z_g#U{78em7%rj4OLmXkBQd3H~BtJ=FZ1f9Q-YFgj>D;uLlunjcBe3?r zc=gL?3eEpOvu}W3Wb%w6%SkXQ$(%c8bR*Tp& z&1ZL)DkG3pH(S-uRmu$SYL9SGgESSvxl2@@jpj>B4@wt%T+F;5x}aG(uYXlDAC(qs zo$IiP`ep5CF%Q10|8g3OrjaY+XbOu%wzL6C0nj5s35W@Yg?+rw z1m!`qTZB;dtxrBuO2RR*(+|P<8CvD~sPAZOu66cfDaO9`m|7z&*&lU$Rn#!%!=gp6(ky)2dW`@C;=!iRA?Y4# z1oo@Bm_%((&53(-un3cQlIsfkfB|8j8^6=@@>9P}`S(&i6L=R-k@doA%tW7&6e_Bb z7AmSA%!PCHDnR=v-L3vEuUoadip8ZYC)Z=wwGQjT>fm9^vDs8cM6EQ#vEMDqf~M}L zOV+6j(4)xL!AzA9FBi+`2EUHV;Ay9oLFDTWtyeL3mItUm+=RiyTf(`mh7G<8g^CUS$Hf9gq0md+$go7F|AQ97rA2`OQg+veM%z;FO{UWIC)G zs&a<-+-+xKM>dra{}c313&BE_YZP7Z(GuHx`Hw>}I_DwW9!w?#JWsg}Lk^hyc%*3CMv)6P$%Fw`AV&Xqri zJR2?BE(4=Mg_=MJ@Ffr#YC(-_9H!g^dvcIS2Cp%m#!}A56cE_OK_Ghotu8>_uASEv zuenNvW;t3)-lBNB-$fg3$9CuNxPK{q(G=dq8*ya^*of7R1h+Jg2%>Ag<%9BQGm)Y!MK}etg@1DVQMmCV7Es=tt zZELJ6F|1p1=GUd0vy!o=+~+haUAO*b^h;6!{Cj_HaU`GfO3cQE0%Hf=w|Qh_ zQI0M$CrD$3wBx!u(MH8T$eMzfcf&d!^33_eqeG`vqiJuG`+{E>HHY(74Qixn zILQmJ(PI$2W=9N9R|a;80v#3#U@SI+9_FUSLp`MZYzb{wHl*dB2zzMlcTe7s;~qiez?fM!~9vi@99%3+fFop|#&Wqcq zB;*oNucBJLGsnt+P!O;cc;2|3VHh$vPU#!>xt?)6lShL2kk3{RsY=^-o6s=*%iigH zc$Bz#;)CARoGgBezbS`9q8EZbF!l#>0XgR0JJTb8q*QJzH;yCFq z=tAiT*HZlVEVY zc0C4tfwkdh=O5!x_PuVCu*VyV*ehuK(Ig&=P5XiCV5FHvk@3%WFB=bfqyFAq>}~|G zI-Q^zl7d+qEVbfsj*elbT8Vu2brgP+xba3%?e#WzJsTQxT#?p7tR{_XYcQsz4KR0% zX%E!tG3O6r&2wI_mG_K|wF46E=zq^e>kEXF#yvu&xk{guD-_WWE+M<%g0c3bE5SlrQRI+>&4@k#@kd*B%Y2tO0qUN4 z3&=YsBPid~Zdq!A;p-%ue%sU+&<*GHCWvjU)?8uCa!c*7Mt0(Ui!@&JW_q-GNn0Ae z7+Uk45BhzEtWB|nkDBH^%P0()t}rUBQ(E3{)wZES`P4>NLk&r+`(#?! zw@cjf3#CxfY(g|~jiOO>D8C=oA9+k_50CW;p?`cu^+0HV(-N?1<;O}jXPXE2k*qA- zd6WSJ5LmMlbm`Gk2LF=`k)1^Ppdt5Tzf~~u>^*8EHt8WAUJx!*nofGFb_=rlJ4{O) zd7V0oI-tSXr=ZAmYgbszDj%fJ3E0&7B&Koj?#t17#F`46E0|5qUe^O%e4Qj)+vEVO z)qo^za`xUGvkB%j(Zl3)Kz`d`(P^)dFUJelOtmuGu{1<>b+A|i$PvmuNWD?!tB;FG zfVFbUIP6cadiKuAEBN7Bt=vLs{BVIb!y~~zh zB*o%;r@F_O_Q*bG^$>{~{2T7|P@PV1^kXMblCRvA`BZh_m{w8HSP%yQR_Xht{S!UP ztxv%|j`B$dB~zlR!lSCy)L*ZHPGZed*@VXdIQH0Bsb|MQXZtvNNxIF4`Z3;kgrxuP zC?Y-E)z-%N3GBOi*ZI(GHP6!e-tR0zV+;ykAtfLaoTuNLvl#UEIJmPYYHBC*7^dS}d+Dbr`!7DT;JFg}PO-Qdo45Ixm3`+B0#-5_du9e?_ zPiV%fCp|PWR&LeR{3kN5kLgm4BWGEcB03VNa)#Dty$3D*c4PKoe+Ev0ulSI+wC$l{ z#80&LUU9P8fx8=8n9?ML`n3L5mqiG733WFtN#8O13PiP{_2}^651vpJ-ZnQ=*e0|m zn4w@esj}w%CQT3_t|gfUEtwi{eDwE{S!LgFO^AbQ>S~ z7vY;}bJIIqwxh(M(boH&lzcJp8_g-Pf^ygaa5w39x?*ClY!?qab7So$X}`x8;yN<`9WR_mIx0KhA+-$0q| zY<`^-x=@!8AfxdjW#QN-CyM98@bldc^lZ9go_cvWf^J6~hC~?(=uOVd?RGQ*G?GsgKzF3%xT>}mwJwz4B3P+G2WSQ3F+-2ZVXe8o zssNtlXuGsJc{2(EDlWI-X99av_K0ns@o0eT+^5WBK_7PkYhsh4=lq>bjW&dk(qd0mb~m#&}fKF13!va)LYzs z%?!63ZArtRQWRPm%HXi(B)t$X@GH=Cvk@A&5|#&OOCY1thGf_6^kK0j$_0i<-2i`r z!mbS#XgMxazI#NlU|j7Nso^7%Pyh)R!l4_pV!f~-wE?@f`XrO)3RJpAX-g_Izxw8o z@E{1h7;pI*o@nYnNfo|-k}7W;0G(@`F4Sn`$g)swd;{$4d@cIsV}JPSdI048`nwV& zTC=w_64a8un1mn5{GJ$?2$V7j#xN4<_r{GSDzc}0-STT#!Dz(RD{<#-aRR zo!&mwfAQIqH26&P$^4^^D)Zc(cybKmhkh>0mz0GwSwD-Hi-}$m z@4kfjlR8M>%x&f1+j;Omhn>wcvG{*r%7nGQxJIf>Jp}bssZ*@?#1iG+NgqyPRxcZW2#XQVj=3_wA6UC?{LX$a zZvD<4L$u(`|8E-eg%vleeoTLOqSy6B<)b49M9$h3Gb>%=W_&dJ$Py13?xTMnU;J-; zHfpPJ@BD1dygYX%F|&M2^ZFI?UiXSFRlInqa-CcE(^K)st&X}`$@v@ST$J1KKy0Rx z%G)wP!^oVd$FUwl<$R%w1^;CXA> z2De2q2|078@o;NLW(M9Ud3O&uCvzb7)5`f(%hso8q@Hbi6C?CJ#h@9OTyqvqu;253 zozT;;r>o3Q?2z4dvd%+6r0>yOsiD;625!THJ7v!Nx5Hw~+fN^Vd3=xD;Ssp8Chha;b;pGSZvYp&)x3JtFLIRm z`^C$f=gV!5F71lDb6G;3-G76W{M_()myhr1=8pFhROxv6X>rSryJrN2Sq;zspUiV= zpd53pCZ2Q(<*1N;IujXHXi@Wd3e(j8KE}yCPb>4=;C;x#L-`hJ2MP1|HeZlBm`IfI2 zr*dyUx~qGt*_~f9>*8J%UJDUoX^mbUTe+!0nZv4kxAnVid%^`y%7`xl5MOfN`_k2Jv1qq% z`#hdpFS9s!ajUaXTSiN&hIgE(g7QNaH%;FN)<4HgmaZ3GySLy>)|RS`^VFGD{vQ_f zG5fC^xTR8V<+}Sjr{wUr23RZ=xc=;(5@+(6=446c^$%W^um8C1>@JCw`|GZEl;{Ng zUzGSf*ZkJ67rL*v_kU7U6%p9DW@XI$ob?k=_%rlgJD%}gVE=1N?Pd3O794ka&T~k4 zxof4(E4*s~2DDbWG?wV*BsM-R+uXg^z$2 z9{YO#xmMU^x`tO1vN*)W1vqW)KY=^@NZ`fEj4VIixB;hauS_*<@HoVG=}_`A!VxR=-?mFa{(GD%ba?c( zAUgDPve&{@Z&6nx9%*jawc%Lvv}v}990~?2FO(d5aGe`{#fn&CPggURiEdzY3xGo9 z7_fkc&Zr`)sm<6j0jn>#CRnkfP5(oT0R}JYi5Ur(oY2+}K<4t7 zZ(*neuGX8Z=*%{k6^n{Fn>ZAN6{U|lffRmtz&P2`ds;-nB_k|Kmw2;G=$z1-v@kfT z;m-E&@sn-c`-oBc`Fvh+)G{A6_jATc2fa?Ch9a0ZVV!`3n3I~5Sy!vk(I5@m={Gml z?mju!eEp71X=c^m-x#ugd*6Tazq#$>McsdmkCaq^10VQ7g{r11sE1cUY&?svkHx7zFq3vDRzP)V+K zTX$#MHQ?zElLDhxV{`B}0gI){3YV`1Wagu;YXC=)#YW)ziOQsp*H@#bQed!7NCU<5 zS)Qq7Ay`&d2zLV)w5p5M@7;wZ6=br37Q&qg$aJT+r3d~qmS=67^)H$sf&mCTUHx3v IIVCg!0QW)W3;+NC literal 0 HcmV?d00001 diff --git a/dist/index.js b/dist/index.js index e06746b..c17e985 100644 --- a/dist/index.js +++ b/dist/index.js @@ -55,6 +55,7 @@ module.exports = const core = __webpack_require__(470); const axios = __webpack_require__(53); const parser = __webpack_require__(202); +const { t } = __webpack_require__(781); const { getGptConfig } = __webpack_require__(508); const { logRequestError } = __webpack_require__(353); @@ -92,9 +93,12 @@ module.exports = ({ return axios(options) .then(parser(prompt)) .catch((error) => { - const msg = `Error getting GPT Recap with "${JSON.stringify(options)}"`; - core.debug(msg); + core.debug(t('execution.errors.gptRequest', { + options: JSON.stringify(options, null, 2), + })); + const response = error.response || {}; logRequestError(core, error); + if (response.status === 401) core.setFailed(t('execution.errors.badOpenaiApiKey')); throw error; }); }; @@ -5071,7 +5075,7 @@ const getParams = () => ({ pullRequestId: getPrId(), currentRepo: getCurrentRepo(), githubToken: core.getInput('github-token'), - openaiApiKey: core.getInput('openai-api-key'), + openaiApiKey: core.getInput('openai-apikey'), publishAs: core.getInput('publish-as'), useTelemetry: core.getBooleanInput('telemetry'), }); @@ -15997,7 +16001,7 @@ module.exports = get; /***/ 861: /***/ (function(module) { -module.exports = {"skip":"Skipping execution because recap was published already","logs":{"params":"Parameters:\n{{params}}","pullRequest":"Pull request fetched successfully:\n{{pullRequest}}","prPatch":"Pull request patch fetched successfully:\n{{prPatch}}","recap":"Recap calculated successfully:\n{{recap}}","postedComment":"Comment was successfully posted","success":"Action successfully executed"},"sponsors":{"thankYou":"Thanks for sponsoring this project! 💙","external":{"fetch":{"success":"External sponsors fetched successfully. {{data}}","error":"Failed to fetch external sponsors. {{error}}"}}},"errors":{"main":"Execution failed with error: {{message}}"}}; +module.exports = {"skip":"Skipping execution because recap was published already","logs":{"params":"Parameters:\n{{params}}","pullRequest":"Pull request fetched successfully:\n{{pullRequest}}","prPatch":"Pull request patch fetched successfully:\n{{prPatch}}","recap":"Recap calculated successfully:\n{{recap}}","postedComment":"Comment was successfully posted","success":"Action successfully executed"},"sponsors":{"thankYou":"Thanks for sponsoring this project! 💙","external":{"fetch":{"success":"External sponsors fetched successfully. {{data}}","error":"Failed to fetch external sponsors. {{error}}"}}},"errors":{"badOpenaiApiKey":"OpenAI API Key is invalid. Please check your configuration.","gptRequest":"Error getting GPT Recap with options:\n{{options}}","main":"Execution failed with error: {{message}}"}}; /***/ }), diff --git a/src/entrypoint.js b/src/entrypoint.js index 38ec489..263a084 100644 --- a/src/entrypoint.js +++ b/src/entrypoint.js @@ -12,7 +12,7 @@ const getParams = () => ({ pullRequestId: getPrId(), currentRepo: getCurrentRepo(), githubToken: core.getInput('github-token'), - openaiApiKey: core.getInput('openai-api-key'), + openaiApiKey: core.getInput('openai-apikey'), publishAs: core.getInput('publish-as'), useTelemetry: core.getBooleanInput('telemetry'), }); diff --git a/src/fetchers/getGptRecap/index.js b/src/fetchers/getGptRecap/index.js index 4667465..f07cd0b 100644 --- a/src/fetchers/getGptRecap/index.js +++ b/src/fetchers/getGptRecap/index.js @@ -1,6 +1,7 @@ const core = require('@actions/core'); const axios = require('axios'); const parser = require('./parser'); +const { t } = require('../../i18n'); const { getGptConfig } = require('../../config'); const { logRequestError } = require('../../utils'); @@ -38,9 +39,12 @@ module.exports = ({ return axios(options) .then(parser(prompt)) .catch((error) => { - const msg = `Error getting GPT Recap with "${JSON.stringify(options)}"`; - core.debug(msg); + core.debug(t('execution.errors.gptRequest', { + options: JSON.stringify(options, null, 2), + })); + const response = error.response || {}; logRequestError(core, error); + if (response.status === 401) core.setFailed(t('execution.errors.badOpenaiApiKey')); throw error; }); }; diff --git a/src/i18n/locales/en-US/execution.json b/src/i18n/locales/en-US/execution.json index 71307f8..da48fcf 100644 --- a/src/i18n/locales/en-US/execution.json +++ b/src/i18n/locales/en-US/execution.json @@ -18,6 +18,8 @@ } }, "errors": { + "badOpenaiApiKey": "OpenAI API Key is invalid. Please check your configuration.", + "gptRequest": "Error getting GPT Recap with options:\n{{options}}", "main": "Execution failed with error: {{message}}" } }