From f53634b3c15e6ca35d5605357eba51b043e203b3 Mon Sep 17 00:00:00 2001 From: weipengfei <2187978347@qq.com> Date: Tue, 19 Mar 2024 16:23:42 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/store.js | 12 +- pages/goods_details/index.vue | 14 +- pages/index/index.vue | 1 + pages/order_addcart/order_addcart.vue | 34 +- store/modules/app.js | 30 +- uni_modules/guyue-updater/assets/bg1.png | Bin 0 -> 29526 bytes uni_modules/guyue-updater/assets/bg1_1.png | Bin 0 -> 34588 bytes uni_modules/guyue-updater/assets/bg2.png | Bin 0 -> 12855 bytes uni_modules/guyue-updater/assets/close.png | Bin 0 -> 1343 bytes uni_modules/guyue-updater/changelog.md | 6 + uni_modules/guyue-updater/index.js | 25 ++ uni_modules/guyue-updater/interface.ts | 12 + uni_modules/guyue-updater/package.json | 82 +++++ uni_modules/guyue-updater/pages/updater.vue | 356 ++++++++++++++++++++ uni_modules/guyue-updater/readme.md | 65 ++++ uni_modules/guyue-updater/updater.js | 31 ++ 16 files changed, 646 insertions(+), 22 deletions(-) create mode 100644 uni_modules/guyue-updater/assets/bg1.png create mode 100644 uni_modules/guyue-updater/assets/bg1_1.png create mode 100644 uni_modules/guyue-updater/assets/bg2.png create mode 100644 uni_modules/guyue-updater/assets/close.png create mode 100644 uni_modules/guyue-updater/changelog.md create mode 100644 uni_modules/guyue-updater/index.js create mode 100644 uni_modules/guyue-updater/interface.ts create mode 100644 uni_modules/guyue-updater/package.json create mode 100644 uni_modules/guyue-updater/pages/updater.vue create mode 100644 uni_modules/guyue-updater/readme.md create mode 100644 uni_modules/guyue-updater/updater.js diff --git a/api/store.js b/api/store.js index 000a408..3a76c03 100644 --- a/api/store.js +++ b/api/store.js @@ -13,8 +13,8 @@ import request from "@/utils/request.js"; * @param int id * */ -export function getProductDetail(id) { - return request.get('store/product/detail/' + id, {}, { +export function getProductDetail(id, data) { + return request.get('store/product/detail/' + id, data, { noAuth: true }); } @@ -23,8 +23,8 @@ export function getProductDetail(id) { * @param int id * */ -export function getProductParmas(id) { - return request.get('store/product/show/' + id, {}, { +export function getProductParmas(id, data) { + return request.get('store/product/show/' + id, data, { noAuth: true }); } @@ -33,8 +33,8 @@ export function getProductParmas(id) { * @param int id * */ -export function getStoreRecommend(id) { - return request.get('store/product/good_list/' + id, {}, { +export function getStoreRecommend(id, data) { + return request.get('store/product/good_list/' + id, data, { noAuth: true }); } diff --git a/pages/goods_details/index.vue b/pages/goods_details/index.vue index 32c8193..7020042 100644 --- a/pages/goods_details/index.vue +++ b/pages/goods_details/index.vue @@ -212,10 +212,10 @@ - @@ -245,7 +245,7 @@ 店铺推荐 - + 查看更多 @@ -307,7 +307,7 @@ - + 店铺 @@ -1066,7 +1066,9 @@ mask: true }); let that = this; - getProductDetail(that.id).then(res => { + getProductDetail(that.id,{ + sale_type: this.sale_type + }).then(res => { uni.hideLoading(); let storeInfo = res.data; if (storeInfo.video_link && storeInfo.slider_image.length > 1) { diff --git a/pages/index/index.vue b/pages/index/index.vue index 5bd3915..5c2261c 100644 --- a/pages/index/index.vue +++ b/pages/index/index.vue @@ -939,6 +939,7 @@ let that = this; getUserInfo().then(res => { that.userInfo = res.data; + this.$store.commit('SET_USERINFO', res.data); }); }, // 记录会员访问 diff --git a/pages/order_addcart/order_addcart.vue b/pages/order_addcart/order_addcart.vue index 13ad4b6..cbbca8b 100644 --- a/pages/order_addcart/order_addcart.vue +++ b/pages/order_addcart/order_addcart.vue @@ -191,6 +191,9 @@ import { getNavigation } from "@/api/public"; + import { + getUserInfo + } from '@/api/user.js'; import customTab from '@/components/customTab'; import { getCartList, @@ -287,6 +290,10 @@ currSku: '', newData: {}, activeRouter: '', + userInfo: {}, + mer_info: { + mer_settlement_agree_status: 0 + } }; }, computed: configMap({ @@ -297,18 +304,20 @@ onReady() {}, mounted: function() {}, onLoad: function(options) { - if(this.$store.state.app.userInfo.mer_info.mer_settlement_agree_status) this.tabsArr.push({ - name: '商户购物车', - val: 2 - }) }, onShow: function() { let that = this let routes = getCurrentPages(); - let curRoute = routes[routes.length - 1].route + let curRoute = routes[routes.length - 1].route; this.activeRouter = '/' + curRoute this.getNav(); + if (this.isLogin == true) { + if(this.$store.state.app.userInfo.mer_info.mer_settlement_agree_status) this.tabsArr.push({ + name: '商户购物车', + val: 2 + }) + else this.getUserInfo(); this.getCartList(); this.getCartNum(); this.goodsHidden = true; @@ -345,6 +354,21 @@ subsecChange(e) { this.subsecCurr = e; }, + + /** + * 获取个人用户信息 + */ + getUserInfo: function() { + let that = this; + getUserInfo().then(res => { + that.userInfo = res.data; + if(res.data.mer_info.mer_settlement_agree_status) this.tabsArr.push({ + name: '商户购物车', + val: 2 + }) + this.$store.commit('SET_USERINFO', res.data); + }); + }, goRouter(item) { var pages = getCurrentPages(); diff --git a/store/modules/app.js b/store/modules/app.js index 7d8e6fd..6d58ea6 100644 --- a/store/modules/app.js +++ b/store/modules/app.js @@ -17,6 +17,12 @@ import { USER_INFO } from '../../config/cache'; import Cache from '../../utils/cache'; +// #ifdef APP-PLUS +import Updater from '@/uni_modules/guyue-updater/index'; +import { Toast } from "../../libs/uniApi.js"; +// #endif + + const state = { location: Cache.get('LOCATION_DATA', true) || {}, token: Cache.get(LOGIN_STATUS) || null, @@ -126,7 +132,7 @@ const actions = { }) await uni.$u.sleep(500) } - const wgt_v = uni.getStorageSync('wgt_version') || '1.0.0'; + // #ifdef APP-PLUS let os = uni.getSystemInfoSync(); let apptype; @@ -152,9 +158,7 @@ const actions = { // title: '检查更新中' // }) // 版本更新 - if (compareVersions(res.data.appInfo.version, os.appWgtVersion || wgt_v) == 1 && - compareVersions(res.data.appInfo.version, - wgt_v) == 1) { + if (compareVersions(res.data.appInfo.version, os.appWgtVersion) == 1) { try { let info = res.data.appInfo || {}; let version = { @@ -166,7 +170,6 @@ const actions = { force: info.force == 1 ? true : false, // 是否强制更新 quiet: info.quiet == 1 ? true : false // 是否静默更新 } - Updater.update(version,res.data.appInfo); } catch (e) { console.log(e); @@ -182,6 +185,7 @@ const actions = { if(data) Toast('已经是最新版本了') } }).catch((err) => { + console.log(err); if(data) uni.hideLoading() Toast(err.msg||err.message||err) // console.log(err) @@ -192,6 +196,22 @@ const actions = { } }; +function compareVersions(version1, version2) { + const arr1 = version1.split('.').map(Number); + const arr2 = version2.split('.').map(Number); + for (let i = 0; i < Math.max(arr1.length, arr2.length); i++) { + const num1 = i < arr1.length ? arr1[i] : 0; + const num2 = i < arr2.length ? arr2[i] : 0; + + if (num1 > num2) { + return 1; + } else if (num1 < num2) { + return -1; + } + } + return 0; +} + export default { state, mutations, diff --git a/uni_modules/guyue-updater/assets/bg1.png b/uni_modules/guyue-updater/assets/bg1.png new file mode 100644 index 0000000000000000000000000000000000000000..5478a733fd00fe0c25be1075df3a70cfb90e0aa8 GIT binary patch literal 29526 zcmb@NWm6nYxP~DR+;v%;gWHOM@kb2AP98Q5I)7Ejl_rS7Lf`N){`x?z->f zYaT4`dKD&i(tWTvp_MMxb>Mwm;XAqUMEPo80|#z+UKr~?5Ful{c^ix`Q2m{LKCXOB9P^(>Qcni;KW(x^0p8+BR3%pPKM7Nqw)_8+bPHWU z&%^)1Xm!oRLfbQW0oJu}wQ!e+RcKl8HaMhrC!&`yqW(CZoYcVn!b#7#Yo5jTu{Z9- zCsF%Li}u2|8oRC@1J^Z?L~^>4KOy20Tj;U9gdz3EHMqi?9l3#=O?%vum91*adMA_% z+dH+HGY@;k|H*vc1P`d{!M^$ijvXI|CZbKOye3XGn${&4c$|Pbx{b8(n9$;g-bAL? zA5YvFJ6P!o+YPdGRvUC2izIgB&WcME(EJUP-Kxje>3Vow(D8I?sLXmQ$Mf0JX{s~* z-0C>s|7BKisxn~P@lK@jc5LXswh)p856I~mp1)vLRhfEAkIc6$*XU;YpA}honp(FW zGh0n{%%6^vu9>+V2$vZ+k3Y)Ie{L`T*WF%{AZIh>9Y2>?Db3RCSEmu-~AG+GO?vk_69c_ zs*TJ2-FWv?xCyQQ&bpPFf5Y;Fm|5#pv)qhr*QUein%(l)g=mcISjqqPDRS_DxZWMS zTmR+O>eaV3+xTh9YV${b^(t8C0y;4n7{2_>kcchavTpb5xJ-ND-{(^aElK|`1e|G| z0ca=Pa9gXoCP&;Xf7pQ4Qs9cirHj?n&%x6iYCiI8*l!DsRo}|JDt6yfa(1@=#z`bW zu#}n}{IWf;sV?At=*t}GMBa^ZlXds(X|Wq_U(Tv^`utzKUZV~sG~om^3ZMSR)Y#VF zV~lJH;Ww65)X<9XQu`;#7QY2dT;s@+vi~a5AiFh9xY)(NVRxP2Gdqws(u(TSxnj-1 z>HGIf69Y6$i_I8z6zQoU*!f>f6w>_l!u#5$zu@7ht*uS{^c#8_!|HR# z{{)AXK6MKfiRjTZdqyskzAm2bb7bdUzF4v5e`i5FzT{p8o#)|m*}0jlg!O}(UuysgTKD#_k97^I~t-l z(K)@pp+J|*&F3Ffn#%XaFs3msPb_22OfNAFH5*KdqI1`-V~s)jF;ytHaxH3V_;Ku( ze$SbsQ&U?vtj0rITYoh>^C3&buD|jGf}fVz@(Abm&-dK${xZQEnpj=Qzj-%QS((RM zgb301zv;G9V_hLpEhI*>k&MKLLH* zxa(drd0JWG3)_>Nn&?v-c{%U#Hr!}!EAih&x$9W!V$Us$*nW9(qR@Qnz4^59O%>)= z*l_F#U39g(nTEXDHOV8Yb6dZA_JB$s;z zwL1cEA(Jg6+Rz^O1^k(U(o^+a9BED;!~``jKzK}$KqD>P^jC%e%IA+;n|(w_k0*$*X(pdZ6Yhw0t;$)Pu=&PKS8%ajjF3qQ#nN899zMGHOOSf+gePPtgpI&~B zjw-AQfggt6PWi&Vkrlyle{j=Mh@r~N3WkQWkV$EpNntf`483Q`XbVMTc_{c4P{Wch z8Dhp-;Y#Ut*)WF+eeO)D0s`D_Hf_F%+A2lA9kO<4Bd;NnE4pNA+C1K2H7wWN&9`PEmYT^f@kn_VF-3)TbABc3v(Ic!VXpPd@;R z4xgvh9-@Sysu@xj!+eeOT=8CC+qx< z@-Fz^6V;0AqL=k%bWPW4;@SBsFX`Vo_!M02`gHdix7)K%vl|ZcX)?V=O{Uu2NnXr1 zHNUmjRgUj>{kGwjyFA$42Rga{d3z~i%w@cQD{REQ?4p>#W6pCqXu-d zADAFWcE#`L-f3*#VsHd>g2HbtUONK?@`E2P0&3x^JvXDjZRQfWWfN3R^Xo75cT`N{ z+PRk%daiR%Y<|^UKlqx)k%BH84uvz?@(-x@hXe%ky${!JfMQeN>ww;1m!MP(EQf7y zZd2RN%VYb;a)By}48|EUx4Ub9BMS?QiRWJ3DMTgbu|NG@&lJ?wzSX&Z<6YG$EhZtj z@ObY+q2?lhw@{^+N1Lku@sEe>Tle=A*I(A&RqCWWBY<{Gd=7RlAHaDpiyLzW^*4QX z=lz|l*9nj3ukD!Z@I(uapA3*g*1DgK-GBQrjibv{$f!xoym?@^Z9QH7Gcu&wUPVi_ zUVkV4O+D=AqRuCotuAM$HttO9y&fFTGWPy(HOjaUACIbbOe>T8E1T2evZ-pko;^`+ zIH}mvo!(uRn*OiYr&=OHLOxMZo4@Szq$skn-`i2c@0+~7t4k<&gM@kMTfL|Q72gPh@&Czys2UW*28XH zQ0$5UxKOglHo}90&4uVn%|dDhJ?DjnIsQ+FP*<*KJ&RMHZU~5BiHW=Gt4j#=OF52h z8p#15_jAJEG zWCmn31?eH}{>ziKdXUQ@@64ZFx;}t6Gc&#hw)BGJtDXACFkKyn#NYQ|XWgBw1b15C zqXv>2);!INQ%9q0C;_hcduo|Q?sxb#%z$ZZV%c@1nj z4|W;; zm**J^D<`XdhAbe;n|Q?7(-?awW__+4i28l}Lp$GGE4;?mG^y-37KH@d7|(!B9Xp8_ z0)x9H=Nz-Ee$cevpOsGgrM9*%2z!Q$o@ihAt-2rmkwE_is`_tmyo8YcENE1F{$qK& z@C&~7?iR-gI_QQ_HT~Co$LTd~x!-b5b8#R#<7Y`^D#7E!$pz?gc2sc~t@$V5a`}Oa1cZ+wu_FBTTP&9renkAi$DKHF>Ae_Nt*gsc zO3dL3X=Fi{H8`U|zlFVVSb)~Id4%jo9WmnrzqqdrAMvtYy|de0@VHK49X{gq)pDN!K3e+mDd69 ztwH0S{lmw%cRk1aE2KSV9FMF~nshOlc#FTi4{~+=AL2RgQ}vf#uj>|5pQ_9}B1$bZ z-l>FUF`cBe8G7trmodh6)^a}$QcwIme9g<}e%gccHWhZ>o!)VM?(lsCpRSqTR)|qz za51BptfYrSh?BANR00$8NG-K3$MMl#?i*}=#K{z;X1rFsSI;?$N(DO`^N2rc6~!-= zOBC<}(h0!$sJ5{d-y_0i?EYl6Mt{g8)bkC*N8$wzC&m$78~K!L)S8p+RW$bXMtixq zN;fD@A4=p{xRU^9Y`i5kE&odDYJCyFc-#qml<<7HE4ME0F3uMu=oggDoidAv>&oB# zeNsu~JIT7~_^o?q>4`NGshF3|45o`@c-yympJ9AGN`37RrJnp(oj6||Agg;3`Au=j z)VZOB{jud}v_Emuy)z{L+pXP%1BcG>?|cFmcswfgz)~G&=k*E^4#);Ol(%{~v`TU- z+MQRaD7ReR06KGndQn;&-nTzn1UOUvW|y>5?=0@i#D$N4J$x^Jwtl(=oKYGOD{?_9?XbAvd84d-_)9p2d2+`*RQKR z@Mqp7qq&;O$~I&wejk)RtvdfRd+5eX|BmV0>#*GB+_9<_AdAbUI@ycdZjgyhQV~le zu%Tu1c?y*gvy~NVb>bWf-!rzt6|uRk^qds#Pz*iISoenYL8lWNiJXmTV`TIhY{TM% z=mG@Q%HC?g4MB{PavJIKX?V^!0N$9dMi@00p*B1eFa1E;+S`Obg#C=|*=*j=9|4mr9@l8c%E$=ldD%I)r!=3)i79~=$1Ty)~ z43IE{j^zzwoJP6=NISk->(3D(i2hVpO2cxdVNhO5L1_+rA+-l6lJO9hPFvC8QC`5t z!Ya{92}MW~nE%^{6&jmdnrH~ZpGF|_#8Q{E2r_s)%&>}W^_GSe{Ngt36Ru!XQ?BpjO|Iw@D^8s*D)7{ zq+`q#dWK!_((5P^a;1`=_sV8sdwcWk<~6W5-?zu2)#;$GuKR)2HjqTI$b@|n;u=#v zh6f@d7G2tx^td22!naed0bu44hU%WS^imGE2dQ(ZU)1a>AeV005)}-S!elg+;)3ig z=)dF3#o5j45#41B4<71imH=oE=pa#1?fZo^SXwU86}Sh}kty7}BQUUk9L_s}=rOFa z@Ax>pbPSdwEc~jw1sz3w(FBQ;xwo0wvQ=?pa-`4@W9;7}3I{b^ukAf9$N#3hZ-v$G z&Aizr(IxjGwl`z|Qf&(iEac>HK5*7hsL%kV_>}Uy>_pz{fNtO52VW0Rh{^iB+p8H?A%6V6>N*rCysSMQ|et$46IPUlJ9UDB_u+|)_Q>DS2 z+g{4Vj1gt%(i{;m6g9FAiDyC)5E-w?8x9e3u4Zbs%uQ37{rX ztm+#^lh-8Xg=lldzj0%RyfvU^WOd29+N~WW!}wUf=2o1|{VJc--s&1Q=564dD2Zrq z>|&|fT(J{(wY`?p6!j@%&Kt`RU0{sDcVvMw68|%MN7y*iZD`AwX5HNObNvJJFfd() z>`xePfkywN;9G{k3u=PM<}Q_1Y-X!3Yh}~9{OS9zaRUo0`$<@;l`Jq3rq3TRb848+wc0WHj<5Rc zEc8k@iqgN)<6B+BBDxx{;dEfDUw*y&#_q<)*>SaViMS)F@oQX?hw_xYpE;5tZ3{rs z!8A9ZqTV=z&yAUE1^zy#l=@Y6!ly#Lmh-ol;s_Ajs7MQZ%=};VDw&r?ym;&OJh@{P zGpb8e5eh{3@y1Vcb`|F71=^ zWwple)0lX|wKjs|R;OM@Jy%)bf3XGo?L6T&9G!?vK3~kqtUnb$<2_h>?3_fmc6tn@w5H|` zum24H#a|=(a67fOLoS`}4q)=;N|pLMM^=YZ>$6y5#YpW%lHRgn#VER7z1~UwniL@V zY-rUM2=d5OI&0Pmy^<}8L5bz6uRL}<;RUD6TnqBE>$0L(xTzzJc}vDY6Nj{toy8L5 zK#W)f;fWU7T$dICoWoVaq`8z9A;mL{B5L-5;Kteb_JDW-7JPB#?23cI5H3fHzgvl+ z>Y3=(KV>a!YAJeUc!LI701RZ*LyZC0lIg2h^6#NNO@4@Z-&j&;#4u zFai}-TYYdGXT^3aCt0k}j^iR=k<~@1i%~irl;+5UE7}KnZbtF%^Pf@!A>s8M7muSY zsr-Q+9zU(+6JYPe5w9^N zhhq?S#Q54Y{;oVx2}&M_fsQu59-v8){aX82s!=Fg013>+RMnds{ms~@T}J4npy~SI zjaA;E@D=Tw*w&Osfs_91QdzwVubDi%9b-51*BV9H9RMUx?`^5Aa_VN@i+NL7HBC2A@?S%zFk-xQQwavf|!v_bna`G|uFi(~ELV(9J&~`{LIJA@r$Y4v9 z7Wrzbh{s=XMeVTs;n7MLW#9yFaraDbl< zU9f_$PxXOiXU9uQ0uu7d5`qGFBy}gF=&3;p?gMqyQAUYkZU^&)PZv3x4Y`JmzrH9_ zAWhUD?CLN8aqpk=c@6y+ogoJ9&C4;VxNnU!{SU6K;5P}S9O879QAz_@7=wu03JUm! zv55`03TjH7hn;N!0|vP-6AT*nOb(MH5s1Nkk1Z}__kV&&bu)i_y&3P35+88BbTiK? z)*u}&wk3k@fa5>Ygd2S~giSq7l}wJyboE$aE7BBOL6*$I(v)6$SyNgdj1+hgR8zU^ zidyY7PG~{d6=kuqpbF~u>vIOC32U%6CfyqSihx2Tjj8k`+7J1JVO2AB_CwK6Wdw_L zV(sVWo7ulpak`p}HmHK*HZ`hC7q4@4^*t0X{ya*FLG!FyKOPMXWXzQTng~% zts1P?cS2d@!7)nn%h0L-1g-R4?=aKxFt5p5_zv=RCT5H}hNK}@2QW|fyw z5!x^sJ5YjI!Oeu-Bk{~$x(FE`JI&>AgV|ZzV(E4PaksE@ZH;EcY_bm=uD&2R=rS>X z8?8v2QI0xb=U0i8tjFu2vczEo@!~LhX@Gks`@`zmzK5|e)yxbMfuLJnLBSNObA4va zwA?q^aXUZrh&Ph1M{Jk_(>L#*%Q$#fdph;4sPrVy#5Bay*;r~YdWCG+L?#_B8>B{C zH~a!S6gr#yuY28ofyLpb&?F^~46Mnp5m{2LflN41Hn@Wvs10<40%mC5Yv0*Mu8~L(KGx)m> z46-~Bl6^AET0>^{Zbh47hu=*EEf$%qP6dfsA#>d;A~+#D+7F0wrMzus8o7||!#JL; zKfmXJizjNTo-*75afqe2n{Gp5X>)Z8YdUYW@^2lgCViLtDxmynKKQRLKOD<8yb>2o zABC!%?(g;`T!DFN);Tjt^Z(Y%5Lg#8*o@D{xdr3`b)G{#_3WP_ZiMt?q+;9sCjXWb zZ=rXI?1JOGcLYqHZtRfyo{EGngmN2@N(6-rfd&+|LmU=W$)uK<=Rl$*Ot@Ed^0 z2XkMH3=TXC3lEK6Jh31^x+NAeXmk3%m`9;XV!(-fO+U>jtDSVsJC5EiJK}JZ7`v%y zt-x<45IW#ODSSsk3R6Q-mx>)+;LpAXy7a5^K)Xi^eM~u z{)d7j}0r6gdZ$d#c$~O@A z8Lm?e{eY1LQ7LlqCvtSfOO3t3V42(zd_>y2tD6J5zTTvjX`y9k%t@7COf%AYXA~NI0-rg2UZZbXc5`&y_(0wk zpx9-hIjb3npl$z$t17`@W_9B*~H`2y(5gQ=p{vn#)RgY{C zKKEZ)oMkj6Y$1QQ3~fO6IP0cu`ez;y zruA^b?w7j7mod5O7W<|JrGz%S&0i_8!2_Z9aMz)>?QWJIvN*bFkKZO_$N_=vRI$+B~6cpN(CJ(yC9Tc@qXqH4HPkv4VN%(HwMcUx!RF%#_Z=vtbDTD!jYOT zJv9k4bkl7)XiQE4slC!fn^9zaB{uQMG4Bh(aZfc}I^Q$)$-G(Q^4hD2)!k;=7=<5Q zCW|1xe=s8e?`R)QH&=D`K;Y}BsUY(|7d}L1h>bYitl+nqOyK$+HOe#vcWL6z%Z~i` zlB*L~d-rZP!qz`~0QcwOseWCKp!V6u=k+SF&o%bXxiwa>E5e#>va8gmn(n(!E1|Yx z(dOSu?gK{82H1Dn!7ULo0z!B!zJL6e_)Z*tbb6P3Q~j9nVK$P$@Vz_;)q}>sJ#jc_ z``r}th4%cHDD%R8`xRaqQbDk+=L&V%kUO2MCR2lXofkBU`Xx#u-Gp1FZEugssE+yb zJZc>7!-ta(1HWV{4zVX`<@8pp=%p#!Nb(xEoxXX?S{GWP#Q)}bRM-)Oy{SqR8aS@= z8##{l7dbdv?#pVL5U%tAP_M59y_OGiGXk!A>WoWgg0{K57Z*YBSNrq>2c zyL{f0lH#`S82djKz?|4`V8wr@?Lo=$d3!SxBeJPwv#u@B>H3iYIrp8*E$+WP8x^Z- zQta@?4Zr+l{@VJ-j;V|ZQ}Y@NRZ(@+YiOSGDLA`j-Qj_~NhFoe1?I1#a%0k{@Tq^z zBjI?|oR;d3`1Zu*5Oig*Ri#3$tKn-8FM-UcIwx!cEWHo83VbA&4Fagq)9au;PzqM` zL+5pKlXrO6u?IfNYLUX2bV0Fh@gWJ0=Dh+K!@t&kcKuixPH8tK*VTz6o-YGQP!{Ev zVZN2tQ{>sImhoTD;=;0M0bNMVNij^ze=*2++&{oHn1Tn6e|~KAxOmjzK>GU)>1hCL z-Qm58gl_utIM7d{!e{I2jS95#(@?{j4n@zqW1fx^_!IA_XyFGhY^AqET|)1p+xjrg z4qbTJFnAjF-;$~=Z>XDIGiN`ala>izeJT)9!_R-QYr@tCz~I78m4V!_$B-0m!rQwg0z}`Z^ZXk}hA~`e8IpOJl!w$hqwlUG zvan)pY;!vi*nD2<>#K2xZmn;>eA)FY5z?WXaM>6qcBE?>c_6(vxR_`8FzqLiPQ%6D=&$ItBnV3Q8Te-~t+UM}=#Y(OYZ0Nccd~{!Rc(Sg; zv24C@dS*p4T#;cB`gi8ZP;{B>QdnVT~6qy-%F z#vX2}V5dhU@P1`>MVA6|w~$Mwuh~oKMp7f|Wz9@O~L>!7%FL7(R^Q zs@|8#sPT57Z{;c2$(yfIc{tdw(>pj;Q}r%MV!_#}DlB$k7hSAOFQfjgxK&}oiW_ zn(;+PY+*&sJJ{p={;PJI-?9N?{_3jO;i@YM&BpED zr7erbo+oMH?}ii~WT2!j2>^!I=+;x_?<|m*=-Ixl4g6vm`rs`9UQEG|60!Nj#I)(- zW(8htG6kVD7>u)`!=TU;KLr*#6KJyZ9e;;&m2;aem(7+!UL(ThSJ0*y0-naDQp2W~ zEw}_?l-LynB-A=2pW9@K3wc?m8HHEoEhL_RVYM>?#A*y^@*mLEh#3gp77wop)XE}z zm!HyDr&A}VFT!X9-DN@G;qpcV?tN60hQ)Gxplp2J355;E#>d((;- z_r{JYmYJy{t{ROCBRMA?67sp!lS3rzZI8=!tv+{BI>s+9RjM!DCUf2DJO@m;JGe>O zbTtXfU2yygI=DZas>-R|Zfl5Y1lwWet-IQpbSTjRG2J-X*+3zPftk`#nPa|yH#|;8 zo7%?zIa6mnP*X}rFfpi+QzPvM{`BeCaNwa*E8Dl?v)pYPpzOmG+4zFF9lZ z;E~rJB_k4dGm@Ha*qDN9F~@^81pPgKB<|cy zR+ODXYuj94Va86OtGpAFVJgQ%Jyq6Pv>Pf~P!`}%k1+(WCbA4wb}hk+hiFF#m^b2y zk=Umewp0v5OZ;6m+j&pXnvy*S7YFCo5GlRwrbsa8_=Z6@geIfll#}{eR}sUr*pa6g2-aG zrP3oCNqG@Jv`RLd#$XyELyygnb5zKPCIK=$$Dh`zH zPNME8(g*_bWqkCSj{tDQU?AF1YOHEBYPd#KkkXe9*7*n94rX0HO3E zd+cMEZ{s!3M(s_MbYXny=gTuyw%#29P+pyjwUz2_Xu0QaMVrZ2XDVz@W!msp(Q0Yr zOOn*r(X29i#eoYVD=;!_xqIFHN0XQdqDOr zxRjFy;(;#34g!slJ z*UAEOhAh(G6KU7GPc5S+Kym8b=dMapeKteKZWvQZu!;2D_T!?5mB%|Yy(3%}y^Shs z!9K@ssKaWgRRI6!tqPw;o5RmzV^U4`Ppb2K2j#gZ+X>WC!%~`(#I;{a&DbU1eu^^^ zQDbL(%QMkZM5-P>;!ViVH^1>qmEVxWgp3btw*M*JcX%-bb6hkqefh|^sgqCt&hR8l zl6H6W7CBzgbr{b+K#^b$Kg~ymtzK3Nm16{`94VLqAIyabv? zJeq$X6jIg9TpLG<%v# zl%RyI7X@|@4|34uZvZGcw3e^YsMg;_WcRnIf4KJ4iIX+}=Q0=sHFCH;!?xlN+&Dh- zH0ZkQO_eKKjo5OtPz@p{&J(PZl)b=4FZ>ykN+7Q#&oK3)M>c&GKFKy@PfJKJZS!Gt zF)-0>v_$B*z*Qq|EDKC$4Qmc~zj)+&{V^`5PBB->%wh#dDPEg~I2p$XnMbVK3{>ry z6p^EO{tDX65GmG69Uv2cQs>>y3UKfO|NWAftJ&y)7WEhGak2CiZ zYGnvJ)xG5leS|8UoS*pe)`a@|seSE%joA)PZMIH2zyq4Hd)&9iN}$=B!68P@Q} zn5dboxI7R5bl!h}xdliT6RshHBwY@q-9`8Sil>U;Qx|4nA?_xy<@r%OA8V!mBsayG zy&gDz6_d}O&AocM(UXPoVjF13=NbPG3>@yz4V*PNaXQ)i`)B8+{DX_$r~$P6o5c?% zzgow9LXC+0gFt%;{kpdU^3KgwDB+hD%0@*PNXyQ-z|u+FvVy@9St@&{llmT z9|@q4zr?IVNd8)xgYA+eTV%QgH0;!6BrsaA%G*8(Y~#_*rzn(Rqdx2|tMg*`cyQ}N z<{>YD*KI0Y4Zw~6jlilg{*{mZueRKh=vihLc9DJFVr;YU(DkYV-Y)n=Qitp$81TsS4P2Z$cFbdStGe3~XQi%37APC`f(6+ve1^ylG+u zdlb@i!MCJ`6nrg&y;rF+rw>Z8yRTAAyp(nd!MClE0VT+1;UPLcc`^hrFu{$xn#XjA zN%fCvWbE8WFuFiv1t8PVs0X6??T}RicNu;V5#+-%N?$))6%ho;7Ch|I-)lLh8mE+Gppr?JSC|}w=^DcLEHg7$u zS~tX;>pmNOx{N3i*==mJbqZJ{mY797V=rt*$AxFd{L+kI&h+nzqQSVG z2{v!uA}Niq*PfQY$8#{Eh;lSP?FcEAt${}8nP*A!)Vwu)rQ+lNhSaD%Fy9d_d(=LJ zL`j~JqG+3~q2&^A$oeVxd~aWH9EeMT&6Nkp++X>%AmyPvVmviBK9soAThBqalR@_2 za>G3-k!u0r^KD(ua+~;?Ki!loi0SKF{ft9U<$Fi)5Bld0q#KjMRn0VbnMOI;csbk8 zn<`!^Gnw{{o9O9b6zPv(N4HMGQe zg;jD3&36zlr@gX1O$S&slM)4#6stp(g*cbVr)xUe&nn1h${|ev=AkMq5-so(VBRZ zf`XJnyKg>U0+5HE=SPT^=G@NOGPhh9gi4((l>*`7U2sx*zjkg+=p&2&On!o&YlRTRirL6-*|gy=|<(& zXSKWYrpH?+y*9ApTF7?+YtIgQfnUX4 zQonOiv@U7E*nNoM&k%x4U_m}+Y^8cuc}4yk7G@clMXkn`?ZFL46tQQYrm~;T>SB=2 z@s;bc?#J?f(EE%(p|I&MR-W2t??v3)tV#PLs8u*MPh_U&&;{lHV7)NK_j< z!!BncOUsi!u+t}omDm=PYJ!hT0_iyRW5CH-hXQGOwuzfOHPOg*TslAJIV%Xc63jH> zOEcoYrL{2%gD)SMZ~GMKlRr+^<**M%q2)^Vl)AA4Ep1mS=@$>Da|Eppy5}7pvNj^7 zZ^o-SbeFCe`40&-a(;YqY^qJwQ9Q~~ea;tiF5v2Xg8cIz;h{Kb3S`OooArN#0y_l3Zzm>U`hNBXAP&zi#Eqg;hKGMkTa@UTkMfnehanhPg`uY|8AjBX+J)K{>V6q+ zs#7y!@(|D31Wm9`83}sy7uO7#!g)w)ZHgU_3WCHjvgly~JJEgnO5I8sJi+br;}sib znP0wk_w~9{*Cp{yyeI56pLfbG@rPgN(e}>c9pasW-PCP!{P(6?AiVHRNyv9l+jCI>l^haStqRvKpQZs z_4|Px-}k|anVwSm$IiQ&Po*!CU$)-XN~eM$VV^kHj2@#-1%}taK2F(Rv>6xL2irlO z!?mC4ic7D>;TE~tFubnBo<7QsTxlhO7-ox^sP~<7l;JaoCkW~k|I%x<@DwI5EI`q2 z2NMmJJ~rC-V{n&hU&XL>c8&1FyDBib?;J7ryK47sxPOmF-D_G4-ex8mUiXqJPF~JVNf{jY51yIJ8C2iGdZ>KP#uy_zq)W9q|e-LrhC7Y-baaJNUTRPRU`^j`o_iw|FHwZ0E$RPB{_mv;}1jIWkV89~0EVF~cG{}NYF z&1Drhz)}b#*IE658ap8ODvCQ|3Z2j^jZHGA=N%8OQkCwUf6Rq&t8mcD3@hjmp4bYQ zcnrSYadQ3hm1AMjv1b2X1LGJSZI6pyq-`}_LvT3hp+pS2_3 zkvT;-HosXzttR+7?;Wie^SCX#6&XdHtCk}JtJ)nSMtAzMg%bs<)wjFt`E3OZM2q@b&?xtUQAw9;@= zD0*I7v#WrJ4h5AXSy<+DpcPo?_|w~InvYI!q=4vA_+0R1K^bOV%nI!$W`yH%x;>Gj ziY^JQ7uWP1H(=>2N!&xB1WnM*QO+VKRP?4RjHTem%^{SAvW7zj1VSFnhW0^6-GqIr z?}d<~xGHtG){uuQxqW;aOrC#PS;MymK=12_*Z&IIzpQpn@NL=?uJYqD2@i+R4WhXM z+W%3)Q3!uPhZJPnee#y-r4%NLc^z1|=zCw92$_eN5Rk4m7otjIzeE)*%-N|(YJPeI zvAK!N3Lbd~=4iKj;3VVW$i_H80ahbGLHqd{59-2ndG@UC!nTjaRh{_nY1t%_^kGC)(LXrmqfBzqsfnT`A&nC>OaO@TRae;}r>&fOH8S^JwhS8|eeh-n6@l>Ha+dTvXmL1Nf|aokLF95KXc z_QhuCk#0dAQV&*?!w!eYoD0O@-nTn*L+P2cZV*;T!zxW2dyzNG~`GE#sq4Pmb6Q zOeG@sKiKK5cve>&KF>2_E0K950QYD*1;lnq?QIR_)UkNeZ|yURj;SG){zK&nx5Q!| zKFJhX!94x5Jz$#}j^p1A%)=#1A-MNdh;m*3(tZ(mD#;v*hI-t#`Ar32%ZA6dcScsQ z+(Mn}HozlpM4?ElO9z^00>+tCx{B91eX2jqumD~i)6cI~G!|?HaaAKk77~bn6<}#I zgm2z&P&$Paeh;gdD1qvG_Hk9ILY7v(b-&=_>vW8m?z{x^mwMKE7w?hp0wQH4H2Pdk zq~qyXxTw(fZUjTX*IJg_04g*FZ89@tyZMcXMO0eaLN4AMd4V|Ux0)rIQlWl+4&eBK z9hT+tT5&#zY`xZOtc66rs|G^GF`&pSL}@bVUInb{s@e64;y5Rn7y9Gtrot*{=14DX z_h*k;MKOzyJ4>2bFJbntl9j{oU++jom`8Wx>;ZpL(rwtrpQ5*&HssfcnfMgc-K-Q{9>7Tg7cp;Sg%qikI)nBWd9}iQjA2Z>%Bj~?YuSlf> z?%8yly4$=fk!Zmd;u5@t8e9n(6$DZc#a;nKHWWgJ!9#?%VOzXI{hT`jFP_7ZV1y3| z&E}7VVHC0JBYC1cd)gv1S$ef3$hK9lGHM9{9}ys5;#B9{REnmJDeHi|zin02qq%?` zrOz=8Fu4{+d8IRH&^f@C(>B_Y`E-E4G8sF{UM|KcSJEnU?J_55}(4V1wS zIwzAj_n9L8txz1|#Zl@!D3k2^993 z(QCp~l%-#>-}H&{B;fR}y35zz#|Y(x)00;S<0fI>ZsZ6GgB{FOn^Ng$E|( z04I_<&O|)ewflCA_UxpxSGaKK0~$944$Q=_}qf6xno$c^i<_(^{}F8P>K-A zYMf%maJ`N9#rMb8l#!*EiK2Ja^SvsjjiYKWx>aACl`01dd+ z)(L{}c=zJ*b+ir-iM8=*H2%gYV%k-%B!w#qR(i;a`-J-!+q$) zsF5_)2#Iryeq0Gne5+|4ZD{AamGvGUFDj|6Gc~(iz%}f$uUhb*jZrC-H<%h>rd>Ls zkT=cpzTq#~ekgRUd?RNq<-;AfWzjs~#ak)!r|8@Ke2n+joOT zD;_omj*D#Fq(?DJ`x(Z(W)zFI30?`jG}$DscH6HPQ^>YXcnE^K2ClE#cpB1pfI;|L z2n(|)5T`{Oa}(%!_C8o=4M40d1VmM6K`uVjc5PW!7M;asf@Nt^%Te1h0>|bilK8t?#U4Nt!zm}rZ z!JnV1yU)3G&eqLf!!3(PVkTtYC5DfOc$5?SwVdjh(f*yVRUk??K=i^(mXy3n27$5g zrn0yJkC(TwXMo0`5s#m4mjojZrI~5~b~3Yc*+;1mL8Peb0!mJ;#s%-)l`^M7mY3SV zRCd`$x$b1=O7488^`~z8g#?v}0otOuVD}mF8VSjHAmxsFJ%`HZ4?a?wa%G-{PpZHM zTjZJ-TM?XP8c!#&uc-64#7*Vjwh~0E28Kl=y2I#F!oL)I{~)=bOXgHJt+*xy?@Nwm zFdoce@dk)dCuQAst_L3!@DGdm2Dc;%jvg;#RzIfq1S+Gm#{bEOS9$!~gl@S#YyK*h zu3@4uXk@WlaUC1+T{__d6Z$3p!GkBKxXY0)rD|Ll&#~lJCLqm_OG-?6lO&0v&p;tN zmZE}OE?GkC^|aVe5o96|jl0B&p3AvWm2E3Q7*$zrx%G_TJ*)$5_u#1|OY&X6z&?Fb zx*FGN%fe~xNtT>5H^*O{ka!vUeE>dS53#FyF6nB?Gai_Su1$TD>MN?=C#T|-Mf)tk^#ie+02~H?ZkQDdu z%k!Rp;Cwjed^p$pEx9t8ncTB?_RPBPwbm!SxYuc85Kk<@1XXF2PBqidOrke)^(s70j)NOqzZ6AEyX1_DcO{a{4)Jbu0?c0XKhPbQL0(0QdSU^C z#S7bMig~haQj#U-i@i~6-hYvj2VYr{0MW;vL|3pZBHO9EAER=vC8A@*tjzE3WNP5= z3>*bh;>43pqi@ z^Su`yzdBL>>P!3U4Ns8OB{uns7c_FaPM@%U?*>kX8X%mbGebA{=zqE~qUveR@jyuy z(`)P9EAaRLybgR~+sj*Bc}#I#ZcpL$%yLz@`_H;wR%FeWA|O^+8Loj8P=xK>vE0Ww zEw(lv$^L$kByO65^E44Kk8`+Xo;4MtJXthz=b+(n( zqR;1gWs;KJA_+t#HWm&(cJMxx9rqup0%b?Y&$6$WiPwKb#vskXXcSl*k$!`F#sRl4 zp)-!<*Co@JWdu@QWd^C8_h;G^p060A*(0B7)SA}uV&oemdWi&?tVpZhfq1jI%^a?l zyTcx^InkRY#R_h0U27lx5uyt@3vaB3sI>VRp2xlWD-o=TI7qOCRGT(cohfY>E6EuN ziPodw0prlj$1X`|4Qp^ML2dgpVVogtaSlqHS9}D^!p`b+gJ!`}{9YU)&0=7G^N{BpUnbpfmK&mAg+% zpIZP%CqsI-`|#XN8pdC_>NethbZB}5coIJB`=6+9U61b*-z^NA9L9;*!okVkz2vQ8 zkHH{#4{|jD1AMn zf*tJ(yiK*$8A43VE^^!n*IR<`o^DopuhkFJ2-y%K|UfqYGWzQ1rL>Q+^?H+5Qdvg`%=O zs@L*+)agq0K6V1T zulOieS{U7Vm>GJ92OTDxTzYjYJE7Awo@ZxBy?UZ}&gl``N6HU!I=NHXck{?j=yEH2 za!IKbhn&Xo1=ZbWs`-zCIACt(C_fL^F_vokE#F;0SxwdPM8$jO%WdSvhr|l;1JAe4 zc7>N}%JS)EBn47}ZAw>R>UkyklziX%$-n~K22N=uTQQ;2kr>xR2x3zeO z6=A`1BYxKLiFxrXJk81OJ>|Zkk|kB1o}RFWAdNrX|AzD1Y`A9Mk$Q@gO>J+NVbXxv zBxyzYg>uo}>g$!o86Ii57LHD00?UaCJO7$3Rvef3YKaXU{REHudo-QoEeI(Dq(w`G z$ZU6wHd7h-^nL#odHTUj-tkh0vkKrBH?I{OZ6N(`Sx(Wo9DFEkdv$wldi?{}P+TWi z>^RZgA|y^@0$^3`A1t%4LLX|<;W@V!Hg^D%tWZ4&03ED$v+kT8Qz0Evkx_`X$KYy+ zz4@}o4^Hd0yWPzGZ_4qO>82ziBYtkHEGv*|Nd#Nv?pVtR^n25?t;R*vmU6iw$jzB1 zFZ!ZrIS9s6d4_nLYq`xgp#iQ?+XP>YeZy@XIOn}ZHZJwJ zXL!827<@k6w*v**o_*kCVkFRg-;Jd8IKq8-8O=F94MJFE&d3#1cD!t7S3g;E&Ktir zX+P;ye7)+&4#1UX{H|;wDMg<_;tu~;6J3h1)FcNS(0 z0X?O4Mvy}kXXX9n_2s1-Nx)z#`n~4YGF+<4NXi8C%{k)Nn^AQ09$U8rnIf9U!Wk(7 zPR?#dSB=vk28h!@*Q_}fju*B8$p=ZIF;zJBzk~Z|6rlK+$j)0Z=auO667dB~d2mX2 zaJU(1E{y1%c#vwfOOLhzAxz(Ug;c%Q=0~fx7|Cx7UAT( ztuHpyY|DB|Zxn1(WnxMGjN@-J8+s7wj{OQR?(YYT?3CBVmXO_&p^Lb2@e2B>w5!II zXPli?kd5TQ}o$W7x=%ozEe;U*i}h7Q$)Ry z<=^LS``ME5GZ~!eB5@JbrLZ}@uRg00Ps10&Y<_G6!M>ne*)#?#J(4IfU$U(@VXAsq zh5O1`{vuJiXRI8tt|2JoNubYkI?UFQ_0z%1e$A<53?GlIR+cdgF+PynXu2 z!tm|h`*QP%;T(PKj;2y0olnaw2ew=3dBj&o``j4nSIucob|pRgF4?@8jhQr_YxO4M zvzB^xOteKDyEFJIpw+S2Atk0=P_X156?GM11y(%wMwk0Li@8Oufav8&lAQE!)8_N+ zGt6wVUaFQO17oi|IYB! zqBbEjb)FN~7nk5Txvzz`vs-H(?zXNInoSw?mhBJ!k`21|g0>_LLy?^hrnGeXn&A*7rMpn<7s`U32;7Y#y4` z@{2x=B|cTLQ=_AkC@bN2G}l|l0>A8^AK)Hb{7fYz_D7mWEzoA5!@WQ5(Gn%O?V=LN zYzEuEkK9bkjUzWcoVK$E+wTT+si~Wn2b)^mFmA1QqsN#dc7IKN79%A{scDeqA(y}` z@mK5lvDHg|w$eNN9$r%;a>%k?Otg9N(4l{Lq!d-pB`ZD_y8nL7K$#+9Fx>04%+@+Z zr=%Gipwv;=$+X%6)Z3KM46cvIj}In?4@0HXG^QAcD*(E|lSZ;vbie;BLta)MWg z?jpyb@eTvE-Nmq^x4?pTsafQ+XiGOP<^_$~q__xHct(7!1as$-FncxeWz(T`G6@qg zW52x9BU@~?DbADqisB4CecOmTrQ6sc=#kB8adbgOf35aUzb<;@O4VFKydX19{E?u| z)P=l?)%Ryco6|FjRqZ=ze0v{7@f>RhE)I&Selg3q`mSr87;>PVG1K*l=uva5S~a#^ z@&l)Up4GI=v#p+IqG9*dXPx^e zk6$C_7fS0%Il=mt)<b+SyWn!YUW&_2=(HjyqjIUp+J}GjK>bY#a7#NaqMHz_tJEY=(w*MP47*lh;HYrEjDar7Bu$(=qnP66GM$wHeh0HD|R+En0>ur)F=riwDzejZB zK3UFlqWBtRcc7pTj^hQ`JRXhSvq|f?%zG>pYsZ}<(+Py{FT}ik%Fp+pKM>!9$)fOg zD*PLf!gucmRWG!!LwZHqZNCQkSbxOK6CaXNr{WA88$Bc}m6J(WV{_sbzqh_zTgW+H z+oABBN1Yt*Ypz1utF8d4o?>fVQj+s?hnn+UYZ~Y@_Kqd*N;BMIt@@^y>dgCwtPT;% zmA>WcTbv-Z1W&{J6z>ZoqzyoL4TRyVGE^j8F*EEhbkni=sYhc|tG`&!YaF@vZ1M*dy5H$b>e`MgDCd z27md*`6uH8qdzY;etW{HMk+3-;+1X_zRL*%@gd{cp;iE9b* zh8icH6Q0DPV?|3N2+U>6`io&+#n>couryI{^?i@K21Vql%|}%_D!Cy-m8;n!YcZnU zgzeN=vu_zT+q>Q3Nb(MkOl=z-j5$7+#-Bd(zTW@>L8so^F8X6{mGGk3H7W3|7F5}m zuit?qa=#1ToKr_li}Z(apYuWD$-^YuDv;sNCM| z)!Q=!)~ciDZ3g-%de~K|CXCnD3+{cd4vLwtoM?2pjUMkzn8j!d1<#{uVBtv0@ssYQ zwnN0eq&=iN9=*gj@UHmRvJxX;%KD=@0UrDl`sIrkmn21J~Y?<&DPn zUM7Ei^+|7@!XR6#doZKDp5pUYGh1}ZO-BCkk3KS>qEO_LEMA4|fP)#FzDMb(z*;twz za4`Z69aO8{`PKB|+Dwvx?olNNhIB)~YN|CVMsZg)?VhnG6~{bNQ3g?zt=n7fc) zOS=TUZ6Vmc7`&%y=6LI_rDx2{rJ~ zzFq{)u982GDO6yN{mZR35pTmS-YW*#Grhm07040aysXS>=+8v90J~2Uofm$UnFQ(i zt;(gZ=o!=owi!%z*!}Zndw(2Uy0>;G2=RRQ45UFFw}Y`vMK2u8OU2e5F8#LFgz9}w z`7O*z6Q@A}&AH&&eUyscM|Bmp(m1{t-Oh1>@a6B&QswY6MjYl9Ww9~z2cN9hwz224 z->}T+RU}K@8%UVQE+ZD|*u2PP;Sb-uwy22@sAzbJ&P{xLGCmm8spo5(9IA)q<7NCa z(fdO#MToo;Y)wj2p)>pNQBt}DomFDK!d8p#eo4BZoIO-4*9Zp8Gbp(AJv<5fxs)a* zW7Z%`q;QbymCyv*APdG5lh7~le5B2J=);-;d#CVUxtgdX=q6nwre%fNwsWj#JGk>| z?-Txww)$ao&h@t(_U1YnHEM=15udSD-R}&*`1@i-+(Dsh#Kv z(dH@PO~pBl=sAZtpE*3oMw|oOPB1DTemw1UuO8iluC%i@h{|ZSdQs^*2vUtN#EQ7K zoVH}xAtYhxYb~GnJr>^NVt^a}{ZV_h?_Nvxa<&wfx{(;A?SXi=!^-dcs2K+{ZmJ;w zr&wt}rnj}Rh^@>S4d5uzc;_NdNi@ZB69Gw^A z&YZuAcDHhzq%T>ar;hd`T|bM5Lm5 z>)$h+ii<8O{DcXkN^={_?Z8YC$6l*I%UKys$Uc<{JsPGk51B}UqJg2m_u2PME>{bJ`WCmWDTfor9cUloFCyWMneY+b zI=E8UWgV{La)NMm(}{G)I6%Bb;M%y9*&oF;an%HwD(d<_4UuNM;~B5a{zldWGd%0; zl)E$mfBN+=m67SfAoFJar<3U{t1f+L8e~EmTGt^-n&=01<_U^vE@SsL`&1}Z+F$Ok z>@SzIm|N<>CmClu6Xrk&PF9}Gs z>1yLw{)d0)Od&g9yROwAf%HSCd%^qrm%@tH1d|JKqH;oB-=;tzuJcLN2WF;ud`fyJ zWbO7K4F89gu8ObB-;h5M-A567a4t*x%MND4PB`8yrQ>K>l+5yQ;OYV6e~EO>O6dzz z!&~1C`+kj4e42vapI=oTQ_eg?V-+`doiulvKWcS2u5Zk&az%bw7==$1$2V2@Jrzsa zINB`839WZaC;LRzEE1IKC}pwB%JPW*-br{f{Jf|q(ne!(@0gak-I&(URR6>Ip}^hD zuy`fhi5FqR*2%tDodgC3rr+sia+uC~=70c}`~Vhb6P7xqg=CUGRif!WZuh**CI1 zFw5KM03lB-3gdA&3{?X>6fbxjb8UVYmg-k|t;!L)sh}FQ8Nd42X6WeC2MGH!Il(Q| z49e8F0`u{|sE!&yZLTQ#^bB{R3*@!yt7P?mkI_>WRhh{YG85~H-|ZS#fyrK zMpuFji!%-0NH8o~0uFfdKK|v+rUp6ujUZ4eMBb4YhVIBcn{3nyBJ@8xv@M<%#^w-R zL>^1&oQAVX$@6u3JFUDxLBRrAGxK8j14qgte1Iv!XlV4ej}IZt3T{zjzwiCpr(Lt2 zef2zYFlNH0A3zc7~C8ejEIUHSe=T z8s(L_Bz&Q(OuC!O_M(L&9xgc z2QTVbvasUiSYm|lh@wcJ(=^F|KyM?Lxy zB7_j-i=9ORSf=C(*Xx(W5KqjNEZ5A>7o04C+Lmsz zn1d&Qp=d?xZ;FLOiNfV=m8X}GYliM7j?g9PohE-BnD_2tOwD(KWT!?jGa*%z16kXs zsGGgUtnQK5C`QlfS7=sy|MEF0i&?Z-AdV6|_4?HXBJvZRAEb0$_4&)dU|iv0BEBR! z26~AA71Xb2cd!HZcZs@3e@h@?np`Oo*xAInDjE6|?xJR{g- zP$tROlz_I)T$?~8vaiJnz)C!(w2k$Wra9P(!YOSu!m$`}kb()64l1H5W{59o zJZU!>r=*(tk+QGJukX^uRW)hEA`#%x?3D$Sd`x|GGgFfNw8bfvUebbPq^Swny=u#Y^uS;7G{aG{)8{RlX_MCi z7XpIo8|F( zRgS4?Th^hM6sJ2r#4d28w7}6(Y+~dzW?gCyC|Xi^QoVB zK+v82!1H#aBYf}V+K8|7q@+o1Ehxp*Z5Gx>bYImJDyQ1*ON$%%rcL#GaN1Y@7fx*< zDrGp$0og*+@#9UW1Ds9>*%$5n}UV}(ev5SR`Gz)bO3{LV6e_zexSW! zw%XG*df&-bDZBM&PdZ5CQDlbz^Qe~KFUTQ%Wy`9kEeWBBm*28G?z1?kWd(Dno=wc( zpFuAS5~4L107~2~F1`G&@slpfsz#(%dpA&$PtKE;c9*eXBLGK zcU&4zB7>#W7eGvNht?DJMb?DgD0bR$^8Je$g_^^v?mx>!?RayZ+w+LF3dK`$n^WbO zWnxXL88A=TB_lI8v+UhJSG_!^(|Rbt&reU;adk1hYv5;VS!13&?GPFo;n9B{0R=3B z3)Rygh>p=Wsmv<{#~*?XH%@e+5B`v-glhJYXY;6Z&*C-|D;QCKM0SC1-jMVNJ12p$T+2R2^Jy0;n&Cr z;MFmWao)^Ayt7>~CHM4uL)>uf0wY>UP>3$4b4i)927S=h8g!|%Gtl(SD@A!}fSwCO zef^SQV!Y`*Y;O5fJZ@FFJ=GA{F4XE+79TvZ1cQ;kn&v>xX$6nLODe1KCA-V@_%c^3 zDjWom0qXSvqnihB0Z%cLhu1>H;uZ--H-~CrzD>%@Xf1QF^*o{0zb6(dKS3a8F`7%* zwRL@>D(rZWBc61stV;2M61*YYYW3A1G;%Hzm#OeBvEeKE7NHYSSU!>pLL2tEB;I|; zSDsNDbjf%Sc$Ie=2o*aKaIFqWnMYL;?g(mVMLk?`f$9gl%n!1x(#ui~JzHFUn~#eV zq=Ko>emaFkVJ@+Js;T(P^1+vS{i9Kvb54BLelrsGw!k%?elho}kV#XHuvOWSY<@ee z5#hYog^En;{PKN(;I;y8YkijJc~Ir<<9I{ca@lhr^Hkbhq<)LItA#47D`6fa^`$pqYd>qq#LVCDgOk$3qLKVlA2|C*0luSNjGz6MBJv>)ofPh z)UsLvA7zfDwlt&aG=&LA?M3FLO1*BpyG?ieG0Zv7opMGqOvo5&3z>~a9@n3SD_IIZ zztG0g6#6)(;=rk?N|048((AV5QhDK#Y(3iS*)qREQ#V?$fZ#=652>9;?Pp!K*2YPa z(o3VffkLFWk2V^7ST0*WSn=0;+v9_O!>xDoq4>{xpX)Jj!Qz^aFe_JQziNe0o%Dp- zoQe6fm=!$XROSa@N`0z*H@B4_b6v`7dbslBl6t*5B`;o4uw+o(l`yEZ$`rA$x!4~n zT-L11vE34XE0hD>*vbPo>FV+3`tfi4ixDKv$sJp6Zw5H7e1=}#Gd)H=A&U&uM<`ar zPW&p33hd`mVq&Ji(xs}Qo8%8C*bi$N*C8uMCx)S1ZT!)=230ho*hYj9twpPzKBMRQ#BMSmoNm~58 zzA*mlsW!AcSE=;4b@4Q)?k*x%VXsNRm4ALDxV*>PvzG7i_Ap`GWqlu2(&jyg@r%$< z-H2ViEJd9HEDacPbL(iamvvQi&ecpqnI&X(%WrE-7fv(QuXH)gYgjgph}XKh#K&Zk zZolo8A{Ec95jLwo&5vrq`y)PlGH`~q$8Em$#jPz!&Vu??(U+dNW?k#?SQl4RO3CQ) zFM)@O{aqAsIIzX|u@=!VG1xR7-=!DRZmkq>@~ftq+4P|MHPd)W_cgmBT{hA_-k=%l zXQ~mU+Ddr-SqP-;X@BdUFgc2m7=+pEdDpqCC)65z-!sed!k_43uk1O}Oh#TTYfWTS z*KKu9(Pg;#wvkXIINU(#+9OlNCz(|auE=jc`zxUIw#%!0Y4UL(`MfkI3XHb1Iz$#e z@dem@M&N3GKhg+O^IZG!GcF%48R7i4>**$Qko_7g7{6HeYE7%SiGP^qL~;)M&kEQn zzgbb=-L>G60pj@ZeQ9Qk#xjJ)`7qeu_}Vqo^s!pYw0)9L9WTpciQ%&{(ruIZni zG*7@#!BUkzv{2etv^S$vu)5Mkm-uhv;ezV~oFHTx)X_xBqbAI1gdE(sRhv1S&e0A= z@Em%;oT|69v|3Sajis1UljWNrhm+Ir463)lX17i~F1Rw9Ct zS^dEK=BE??L9ow@W_yX9K8vOPLwoSQK&Q`3=^$5>kT{lN4rl-UOI51`Ti;;a+)C-{ zaD#5YAH3d?+}KnI8ee!?d)F-5#79luM5&WFRw(4Rl5CxQTof%jsG^7UX%UX);o9)R ze6Zk5IUD)Sw~2kNS>{V|@X+RCNSj<hh#+S zF!RBr{}&yQy@nhQ@AFS}9~LL3f9Js+`_-PAn}Nk$>DjX@-ui5zy0);tlctw(nPHyT z8?m(S+V6;-tx$y6@KMj{o4l+>N9}esOnMJJvB4Yp9-0<`ZNP_K^H-$*(PwicAC8Aq)HBLs7Y5-Kzqqb z&>ipiH!D5J87wE_VHI3;Y3s?CSksj$b(yySxU5C+gPd&oG(NI~W@`M@C?!Mxm!?e% z?DY=)X&ij(l9SsxH8{~eJa(-r3B4EZ$}HC1~4s^l%K?aVR(uv z5NjWJM2O8I3yT z-OfXw0XeVA4@!Ntk{vG^UwHWVqc=U8Ojb@d*JmQzme^s!%cI7MmiXUaVgv_#e_X50 zK3>e#%^-fffcd|_x}X&je$^i8~h+|#4DX9$Od&_TDo-Dl!$kGQ*;9go4%bc-#2 z;GlGKyN|;a--AC4QE$vj-A7R?tl41sQvjG%0i`(&Z^nBatRBx zHrA3c%;GoGf20{8ts~rE5N0{U`{*A2pTi8wkOhf-gKWWj+?64qIm>R|&!?#YU9bxw zDQS5rWoSWs=`{cOAmRT)TDqM@9P8umqyEy!bf2N8GfxMl0{u^1*#G$_ zMUkR|?ysvYwORz~g#{?B1u2ytxkq_}&wo(c9aR6%fFc+x!hq{q&`8_;wIJ`%Fri@( z>v9LP(A5<$^~WZ|@VftLMdgB7bN6lD$b9{1oFa_(uNJc2U@~au2aUx+?f=z4#>%Du zh&*$wKIsnmua2%v5Ct{@JUbhD3{gLe81s!ZhUE=q&ciP2S^LK0?%ti!y4^e;^6W3I z(_2|obhPmoyGB@G=e{qa$_1+y3iMZKLm{g{dUM67k3RO%X@f3Ws@tx`-}c>YWzJn? zOiEb40KCxspT3WlwXz;z*N)hS1?xI1e?TpC|9K-3W9Exs-&BhsZnfU_Eq9eSfBlm$ z@{F62{eMD}@JTw1g+b?>;T}Whe}?}UL9dN{_>v`wKNq!JRw5W*>tg)>3nJrZ8TzVZ z0)w|s|Fy%e-2ZPe-|=G;_ffpnNe}FrV-* zMf5l^YGb=L?iitNLXjerBNk9Tx?R1Q?%nc#b9cW@pCOYQ{D0@#_}^at??&L?Q;Y8thtIq<`6n12Ws?r)tLL$eq%848!gNK(?EbqnRl4kk zn+8rL=(3+bK9AAin$r{~lI0rs;I{qi8IkekQQK$23Gs6-wF=-Xj%Y5n?#q>DlsH#no=xiw5#HW+lI5huy zsgjbpgnDgdk0I<&0yR}xH#5=p#>S`fayPP;Ox)%tJs8k~3)Sk<%KzE}3j=muNkpPtwQ#~IOY@3qgQs@=WA2q537h$T5 z9yn&r_?UQrZeCzi6L;14f+tg;GjIt18(O#=*^Qfng+%DE?<-eR03P%0`u!`sP~qIf zo(jyc#SR58hcH-WU2_SLd1Oz8#%w+0E5j z1m+vrjX$Y-1F*cTaZUoBi_-#}!?|aj zRqecOTz|kSG%9CaDfid7JNGZ~MaaX)&vm-pr6z+ILJLxnxEc$?<}9+~FHuIBXetVt K@--ivY-P1dF?mSmjQP93~=N{*sJ9o(+Kf3*L zFCK%secbiXR(^kXrjIxH_T`DIijl{iJH+Jwx9;A_$fCJ(C%i*d;hiox>rX3D1EV!k zyp8k;W4>B^?yJwr9pTSEexe|rgj28Y-1yxr{tYtt)S;BPDD_=aMddx23JZ%23v@*B z?zZB?yW6Z9J4Q<_=`{e4#iI&j5D4=}W;5%LZ_de|^!lRDu41 zj3OI~oYv(zgPS9D1@Wk}+1FZG_7zc>?>!R40GYCiw6B;;@q&5#&oH$14~b_V2g`t^ zhjBg1kxMU_ie02n2IzHCB&x=3YlBjuMq1K_m!Y`*JvC(Nx^=mS3QV!k`ih%=K;_zw zVB??gh;Qa{A}EGqWgbvk+^sD9Os2j+e#8Az!f}MP46k%D7IG&(e$=c}?8JzZ|A(yF zp?#A>18bTCO%haC#3tV`H2~U8PNtLKL`S6}&4LJ7YqOT!alr%;TiEl5WEL#GLUu)w z@2HJCi}3TdVXfEz)_uee{7DNDd#~ek1AlCQ-TQGM%}oxI_W7T_@WOP^BYV{l&L7=U zC@o_3XkNaLrOVN$s&y%-K}*soO0q2`^BmbY-fm{P!f!UA*9YD4s2e+mpNh|++~ZT$ zt3%`-`p*Wssad;9eP|h>Ld~spcf5+FD2pO17Ux&o^JZ+zdCX_*H0ru(quQwiO5F6; zYrBKR{=4ZH_YzRa1zK=EaqsD}0ewR@}C z3jHM(L!*HB!q<`2nU zX!IPm$*As8vf0=Vy8U<%1~4qSW@aKfNbZ)fm}d6~jcWhk@Nl@)^K}R{Y^vO20h|ma z8b;SYg>gn+5mz#{o#I9uE=v=_mZ^^_n--H+B8Kd(vs7B(G57aL?~s!0MPc-pW6)0{ zTE`ciO^iG0cUph{!J*l0q@~=PKe392C%z2!1B2H*sOPSvr%fi7NsHE(Z@3E{Fo)j#;1OPJ9Q}y)s{dAks7bzr9LNrf2^`+{dq(* zHO9P8Yts1FwuK^tA#f-vGyi^w-qW+vy?6gUs<--aR5n*b`~Ku8J+DgReFfUI`>58W z`rGJaJgaE?C6KD#?eImmNPtdtZkw|P$tDovqr&QU8AezL$yBsh({V_&R2!QKY2MU{ zqQy{AxbP`q4OauWW(v2%2(?y22oJ)+-ss+{qx^AgcNrBt0aJ2eJg@4lcKvSCUTzxq7&1wM;l%jZ$+|Uw0H5(^htMa~zcW^hnYA7Bt;QH4x1xs>2`?5nq$C3Q0@zzc z9JrBF1DR`(Du;+?y3a$uT__Sj@WV(WqhP=?MPNHg!re`=aHK*mMmp4&d zZ(K>_v>agv(c-V*-Bh`@2Y#~f^?Y~uxMZ%lym+VtZ@t>XYEXJ#X79P--3R}<{Hit^y4UP{HxBdb5CT?a0SaWUj=zC=Di)yA071r-al7#4UUcGj>1WKw_9&fyH- zaUtxKuhsBxkB+h&X=|~*h?=6 zm9t{)IirG_ckkBKg>6HdyGO1s$aXb+ZuLP)W=@*2+`!tqbiyV?FM1(T-MOWQUrW<{ zH=c`HVG$$6nRO(w$@(tuAsHQ*JDc5B<(r+VE3~K^MsH$MVHJwnNRlnqjIpCzjO5&EuT)Tn{DAn%VUunfm$)l^IE8 zl?g47dTG{7goWN{9{;-;*=`cB%}hSC%1rWdqG6H9YjAIon6EWNY*CSu9YqempnuU^ zfL9s%DP||=+^4F*_4_(J?GBxa_J|uW{=$0QB#L7yf-{+_wwI=R#as@2jE}{C=I3~d z<8sN|@Nl^_0#dK6H!7{OO5evk*i3?cBG!-8D#zRM)umj&xsvi>%nh3(VCQ1sW1v%S$5U)1#NwQs^Z18KVVJ{EI1$pX>WnFhoV8i@2 zKpcx&N3pvzV*rp=_?@^ac|s63fT=~)1n{gp|Kfe; zv}MFYdH6FmUR7`7V{CvmVwjFgKd`lBM51ObE=;@HmXyu7;W-v*(cNC?=AtQ^xCFrB z8r2#65AYiaJz93iDe9O_OVk2);)QGp=c2Y(vaxy?Y6RH;(>&ws)m|# z!%SN|51CfvLW;)|VtCfHR*eBmlhE7`({_V8`{^PieF7`r)lV5T_OhzGH9Q-2yYt$X zlkxZPJ?%F4CN;^QqMFsT>tP$t2|fWm5A--i#R}Kb_+{+0rOOW4vypFW4&HC%1{8pv z6Ab`D>cgQZ<^<_jE+JCXQw_^#zLaT&fS;&LJ+AN6rS~msMC1B5nmG7*gX9slhgH4C zL5s=3*5vy?YC*!<`Sk6|BEjUmVp!wI&%1b;(l}ipZ(B9`SCX(WMXNNR_)EDN$k5l_ zxCXw|fJ1l7b9V@T-xX@nagT!aO6%ItGDXVRx&BN8U5Ya3Y*N8Yt~O~S2pC|ffn4QY z%C#!ArJD$sRl@DU$!6f((6vti|>pEIn{ht; zla5qt+#5rsORXyKpppgzm(3AV2)Ci`Bwk;E#J{rRf@r;I1jj1L58TmS1tf#4FhcqPv|Dk>7ju?jaJMA zK~~3w<{7O@i?Qg}rD}ShJlnu`UWm1KE#4fyZuE&1H4OsE#gW>h(oilT13H(Lu$>V8 zmV^LZWeuAsB1;&GgpZ$BwhFEJfir}Sl^GjWgH*o+TN{E6-Pyxv-;gHTLwNdNkuEQ< z_+;fTSR};dY@ZLnb{|{(8gHfD_Ly4pXn0;IK^kmSnH6kSdwxGXYuJ{)+U3Q$^3Bhagnr=j zupTpqaYG;)xR8~~u@rBbwBdJEFd@LBRe8BiPu};9dlU0t%mnz=QTbFt&f{QB0b<$6 zF+M+g_mAl*9{lm2TKSp^&e;OF1IiFFxStqBPvly-USVO8O+DAJbP#gO3B}N7@trG5 zc*j%4Zf3AsKJA6P5n+)PCVbzO|VsaQp+acYi;5Q@oMP&Pe63CbeOVVS~Fa9 zs5W2|t>Vs``64c+^a#ltzQXhMzyQ2J{{qsvaF6eiNHAvMhaLW3WW~P^0JDm#_jOg3 z>jTj7G$Z&1eZgm7^W}^EdtsR2EKw&xBTnyfU*#k&Y+QMnJZh1;V$Sy4dK z&H?hSQB$5eD#wrW8)d0{tGr52Sz`3&Gsc|w7*uwYSb&cB<^ zKU|b5`otvnE@{1C&-+s&E9P?u3w^K2byDVElMm=s-n}~HUrg(U;jM;VIWawb+M}G9 zJi3%e-Z|%AF;o79q;I=Zuy%`UJMuwOsefv$RzGtBFKEzJ8sIw#(s)EBRm^DTm?xpq z@QPsUsdSt?I}%Vo$_W8nyXdr|vB&$%X1Xp*gchqkw=#Q#pf} zctj-AYYPm&bDQq;C*GIM`9Du~c(xOxh@;!=vQ)%=fmJ+2%vHXqtcWsZMfY!>zmops z$V+(TmFuX<3Vg}@tI-Ln!LF%;7?Flu6?V84<*TlIn}6uiW$85ZXr}XKds42OzRlbI zS}+fVi}^AWzQ%VE+H!wy1;-hNS!%&t0UVubHj4G-kY1W_;MHujk2Z;HWk#{Lvoz*khqGh z(cW7EAHo*Z&of2`>s5M)ZJ!ncA}^_e7Knc(Q?(k@2}_^7Y@=($|J%cINvBDkVVamX zoU)c!O6cXjJI_na-Er=kdIcg$=>veASsQIfr5x1@#R>Q09imG{rkoxs=WbtJ$orw3 zvi4Ov6uic*RK4vk0kBszECjV{Ma#QL+KD0u`j5@LvfSjt3EA9BeiwOSdSA5qV@s3&WGkDebP`?YejXJ1JAQ-}}!q6K|foE5;-y3+W~dZ$pkjl7{E5em#))KH2ej;JRd=o{Z>0m9#M~udUIFR|Hg~38IAF{L(EmHs zrw5r8)k;Rz0zd(I;w;Uhsu>>)_l@ZzYSqvzs1Kv>5?0swzJ$cARv~a9guWg5=r|65 z@d2xwwvz0d;n{GUGrpBe|7AN-Mq$jmKR>FJ9OYM^V(+77J4xe1C-dH}RCIp+x7#|5 zwlXlj{v0?~(MbQ&?B6=!*eIySDzgndY#ME6RA_5PU+`u-Lq^zNpNHDtxB>-;*?94$ zr#YN|3Jz}&bbFC|Aky*qdy!8InrIs~sWSHhriL=d?ILAZYMS3je;Rzz#_d>o{E7BL z-$bOf%+2nkohl-sRj>PPA`#uL-ev$+%qlc;%SiDV=+dS<@rKg$%+kOcDAc<7Wz5%P z!bR(coKK>8%w`)$FvMsy^Jg8U&zMvOLDjVqm2b3k{7ex-*a=u=a6FHinq2&xaB$`~w@t3gQhW3p+94xH zfq=8$S4a)or+qIcCpLXBJUvXc@WQdcP=56>5)&F>B}I2XBbXzw zOwgv|cc)I5W;FG40X4@Do6(CFH}?!4^3Afe^9X(vyQAha;mOUzrn63^#@aLb|38c=L-~=yy1UH-^3A^PZ09Yn{54DmhIW) zQv?0YMKol<@ebx|VikSbvpZEVK_M0*JQWYjjNTNwFbK~VrNXY>YDoA(a{N~{JKsLz z&Pdezv4~9pI=KHAxRu*{^R?}VD9;ln1%o~9cBZ{t*QxS-ursx&xKZkvqxzzqdLa60 z9y!T{*&HhO09hix)&K$;%uf4hyX?Jf*U4alDL*6~tdCsHDL}oE*sN{;6 zc5tde7bqKm2L0WsPDttClLXORM!kT%t;&W>5L~_>HZ3 z+@ZM2zO(K`G=0at>^RG~S$n9!I1yPeKdfN3b0)5TMfOvBx3?K$b~z{x{kHJi!Lk#h z*zoMfihAR#cMhrga|M36>-AyES|;+8-yct*HAQ3U6BJW(WhZ@^S|tF+h|}5Lz7H#L zz2mN>qxD;lxc6%aWE#anEv0D&=*{w<-fPi5j&MYRC1-4VnACWCnwOp3r$}!8#o7kw zZjFA83`l22^d~F^$C${93i;SE+Co8EzEo;3X0P)u-B>Eu!XbuTPSl(3zr|2RN?E9v z!d~@xcb7Nh-;)Z z%c-kGkI*N25kMB>>qTQ$yKBu8qX6rZZz&J5+A?xfcv;|tUd?|To7TNbQ7gW z|FEQ4DM3NQ@DsdOMxbgN#FT1VVP^qBGP`(j5P9qY>i=5Q1AD4bkpUD0GoeGD@ z=uo_f`Pf~oJdd9a4U;MU{j9d4?pSL{v=}qs>|C{z7^%9t5^oFTg70%PgD;DqCp&BF zE|9M3fL5AczAP9RYYgRpbOOlnos1_IsqDX!{JN_s zuP#Qc@u{Lw*51@j-87B&a0EY^mPA5DZ~U%20e+$RbkVYXg3EgEJ+LI(P=8yF`_bGN zk7Sx(E&crpVw8&#e51Lf6YXDb6{rpN8Tg}tXi%Esu0@+14r|*gT$qJHRX=QVV*yhs zWE5v^N0y5!CdnQ}?1Tp2jAtZ86wWEW`V4^dNR5nuZSrg#6z8Y0zOl*~EzUzw+1l3JVe5?BDqKI@A@yBlEDCL=+tm5FQ80S~AM zsX=GLS=gFph$HRL9iu-Hl;kSNL{pzcbLg{Q^13b4Ms)XI`i!@Oz3d*3$toPx)mNHK zHUZ73dEK#o4VN_yf+ZOtU;7|h0|C*`;LhdM{;$b5yS!KIp}$DdtM<%41r}_-nW!4L z4NM8d_dnxzMt&4N{97WY)xVZx54Cevk9x)_48sG&Wkoe{C1!a|ERqfc2R}ARwmOwl z`{`F{zI(U>4|Ru4Gru9RiXxD8UTv#;O7 zeb}NUl9{({y{h)`$51OF$^HyYL&i)c$L6*U^@=uMG+hpeB$!lZj&($7J-r`&#k<6x zi(-ZcV|PYIiXQ&0na~xf>>rmd*;i>S>`R}YPs``j)P6wOV?@^WjD-N+@byYhlBkbS zzTXi=jFXFwYi&^3O9+6=JSNqW!jX#5>fBxq*ZqT9hg%7Ok^Lv#DM?yXF$3L?O8sm8 z9!?xusE@bW-5QV1`5Rkptyn(~Im$V0XleCi+99GrkUOEaw~)ZeF_d{n{oW>v^y)QD zH<)48HhXyHd+#z@)sQ8?a-PqSRk{`b)p8s4Jh_LjPMi5nV)9bhssmJJSd`2nV|evi zx6LChW#YMgO*d63m$=V<-HCu9qp_gfbu)sXTUe31`yiu7hobF|Ig6uuMwpeh$Pb>k zB|-UG1ckY%z(qs`pIfsPmv$LInN<=U__~cDI9i~zYG%NqllY{OgQOvdI5--kB1I;w zANYe|)cu}Q&CV9yWykoah{HmZv65hVMXVp8e`n_wy~YD&qVG*oc}0I~-+T{nIks$Ns6W<4-97lt`=NYszd(`Ts9zcfjd(H7aeT z8Nh${69bH{3$GZN=+vQ@F|aLVL^FJ1gs48B*s&!ZiX3Lo9OzEbt9)bGADuZhwI~<~ zRa|-n__f`MuUn2-gNugqBK{L^X|{s>KPWz>U#89cjJ$_YbkWe7h!%2Blq+~|JBHBA#mmSzhivXw4bSvTIn>b!5*hA zXwG>SKU*}p0tT{DmZ{|pgQe>uRaT{2YJE$Bbh)12kHaM7FfsD;m1yaCQ+usc)ek9p zy|pAd(I|^3OcYtf-FIn6)l+4aN!kInPKdZRwF@=iW?AZ>KNQ17WjQxJQ%%%mB;_=o zd*%v>28ZkIRAZ(xV`7rM(@D?l*e2%FT>H)F0^P3|P*;<9Hw(x7JPxHO#{Pfbhc0HK(U#7Y3+l38qi2 zBVhFv5f6`C`s-Uy2$$!1WQLT2`KKU@24}a8#N+2JXX(n8)yOv!a!WcXVMP?N7iulF zAsv|Y--&3ufESqnA~nNTZ7N@E@GK#X6rPdo5~d>n{U9o4U$5~sU))oB`E?aQ=yKTM zgu7Pf#HyUGg$6Z-1nN`cbWL(1pwDRRW_L|=-oS72uh#VaR8!eUxeW$cF}pcM*iIW8V_F@qD2OPw2EXmPMz_U`zo0)3J>0 z`s}k4$B@32bWtirG!wHgkOWT~q72(jj!gMud}BHBi!#*tQWi^@c>>*pypI8$JZ#K) zJs1a4a7g^M-j)$@%Nq@1aHo*Z%*wqCy40j`LQN@qsmDoRmL_zIHgOCpRgYje`YB-r zTlwah%xUVLya$hFK%CQL78WOhYF1||`V$8pn-c1h8;@T7!=hP0#gJC?%Ve|%$u-AjDV7C^I?6RX5Oj`j%=DJf9aY@YD z?q%0?gpV~kIHwMV3C4AM2%iWwFCuTo8sg8_#^+~%Ccz|y4s<75j+{JVs9PEBqd7Fp>Rq#!0u7n*b_2&Bb2PrT` zn0&Cgv`5ItW1TuWLjVpyBcn-gjaaS}2{~U&A=Ik&DuV)(B~h+2WgGH*k&ToQ#_Mes z^haCd=IVc#5!@mKvt_h!QstS(vNZNg5D!SJ-F)Y_b~G49vlom!SYcqKrWe1<5ZbGH zcYA_u!Wk=H-DO#%s8l8#5^qCVnu!V*3X)F<+m#0zj4Eg7=w(IudG!%o@dHpy@mwei znYdk+ePhX&$PEZZu!?j(*jzHk4$uGpd-0Xq4Ajf|N%H~Y7d_I(VvQ67^`^^b45XR|!POksw*Cx1ND+cu0nh0wD6L!~*Id?k~DQ01e*ywIC14&d1(lQ64_eww{ zKk;{%q1017+a)JPo2)`FgRC7#(I7*UfQZ@8SdGyh_gGxzg;}S7CYYVH%*_U3)LoQg zh}_x4vl+ATx^aAo+kv8o@{y6w=lgdIYb8b2?6)_op$Da>S<03(%|k3r;2od#x~f}w zqUb4ODT5dJg4{tRpz>wIDEALk^{?5KV!Vs@SUrH$zqFm&|r`9!)0rcUMEV zCBN8yg-d96YYLn7Dp5yY)O~87oHV6Cdqi@V>hCI(k@jX^8S91rL+SItr+@j=k>zsK z@mW6{#G0snArTVFyMF;L$HEnF5~!q|FF8baNBHTA{d`ZDR8B>_8uRnbXXn4!9lf2b zr@YwfE}V--)naxmZvW!gekMnO+(5GjktB~{7;`VrM*dDdTZvWm(3Um=#g$0N=42Aq z2n|8@WqL05LA2=!0Tgm@ri?4PAu4nIpw|LVsK@zt0S=X@O(t`F$5wo3|9dyZ4PQ$O z`2CEV9|4Ld(Y}N8b=Qh;dHKxFg@kk$t)AKf&7^YDgn(N9pQ8CoX<#53mv?C#eGeuP zoj;58o%G&Co91f{gMd8_NTmu0-`m+pwrTdt(T=>AoS7qA}bO9IX$h2}*eK&$i zzL;^IL80xtOS-guj>QFnKwWt&C!?NRKascb`*^S#(<{-pt0j}+x2HgTI1UhRE4{$C zAj0v*0TnOKXs4{lL^p(~eiVI)TQ+@UQQj&NP9@W1)tCTPVV({DT--+s`cbg5KQYYK zwewHEJ4q@i=CF1)q0=Ald?H}ZNS8su1kSF?C?EQHv1!zme=#{5xiwZK;HVy@m?V`t z+XCcwJB;ZO_jL;>^UgmvajfZ`@T}XxozOhQ&a4181ff;USGTJEc>+}nO z(#eLmdxwMpvWUn(No^&D$j@20a@1kM!mh>dTRgqK)ae}%=cy0ZLoyjU80dkl=wINNyfR((ziJ`fnET!6P2C!@ndjIRJwV#=@(va#Rz*Fpp_?hv{0BM!x`AoZ$O*@eN)>qcwd-DOBAMI$vIItkVp_Pg~fNr%T*F&OAW(qm-Dh z1X2R+OFQOZ+ZvqMhx=@fa*o;Na`YQA{!#^{u!Magh3_Zgvfk zs3xSq98EgV%}CZB2`fi@#_;qxtNlrWa1BTk!;%7X0zTkBQ1&Lp{7>p=wZKcLMRw)i z5}FAIri`)2%v#y?wFvKs+ceg4nw_QFDC%V>*ikwHw7QnBl28QD{-@xn5s&s9=^W2=1tLnY}`>I7uN_l-b&!M zZV_!15&p>R-}Bso$(jjkb{FjYh(o@01ycWx?~KZu&>y<mi+0>P*TK10fXe3CQ*CSp`v(T%JlIWKIh(8eM zYtOiTESuu}Aegi;D_h^F1TiTgARHU*LLtXK#A|4bdjS#FG6#Ef&;b+vJY=p6{ctwPLNS8H*-@kMgZi4}ZDNZ%B|Y=9Gq zICJusy|MqwwYj=&_U0wMYde*r3@FrG=2h!hJUAMu+8reP5mnux$_DvMZe*23y#S^Nb464NJQA+fsjAM)~!1R-MZEDB~P*{M{V zpi(?=#VA=b=fd2A^@yF8DzJa&+j-w=1oov%WgPFRN}Un@Xst}#xwXOM>d$uE71zvb zvm$~`Ytc2TTs}0h;zsjtVSefS>3IH|U3tpJlHE8@%Hz6`v-rH+3|mnH!cw^Pf$6d$H631w>8uljgz7% zh;rR`qN!oL@&WuQxrU1-b({;}vb^rLtZ^HHsxbW3+m5MCW!%JK6D#%peNOs4#RHGo zGrkT#s%jW-?e(&A#a36oFl)L?Rf9@nzTwQ>p0lQplZkYmCrb4(t9z1BLyqk}IY+|v zM29j{73chqomzf@FKNe$yM3i6{V@2%jRN$mO@;!riebz>!S}N-|B3n+T$sy7J|hiE zp*bSZLEn)w_vy#UA=OE)BfO$t?Nk_TdH|7}PJ2g=w$W8J_yOa-=CN+glPNzSLKX(8k z-4ggmO))GCz9%)ynUeM0U-c@uVm}%^zV#NLT0~&1LZ4(x$KM?VzM*>2?%INDi+&3; z!3p){5!X;ckK8~n%#Kb7)GZ{>1D^Wu@tf0D5|K}G86Q9n=@Zf_uHRtSFo+iAUGC~r z7SV`39%uDOZ_GsQcpAo+ga$|Se-sR=g*udv7sNdw#^er9wr_daEsuIF4Z(=st?uJi z6l&yt$VH64$#y{XnLLYWwd6`PI_5+eehE6<$8W0K3AgMkvsYT<=bHL=} zjGmR!3zQ{ut~e|8b`9bEjxrFC{DRK>w)JF5wZY*?M#AkP;t=^+V7n4Jbs7FS(h|O* zNG<1l8hauT#7LJ`3--xXo9qC(p49x!k6*rhH*4IXGJy- z16y_rdycuU`CLP%-Gq1nPd_y_xl5^2eGIe96GzIfE@Gk9ri`dQJRoRBRnqt62wV)LheU#2%{P?2{XpA^i9*=XdVU~r4GDnYvB zVlHFMd(fk%#TrpgM|JkFN5T)~1s=Tp`*HW6(j?-W=6xBZOu|IDGTe#5zSiTEXxGA2 zQkOK$0y8+zGG|rxCAtOyA~!oJAe@kTcAZ6XI_d`RBgW^`C=!LdnCelg3~_24z79+W#f-m!cI885|o+I-aXRftH z`BFG5=E7C-rtD-PQOBY6)-trC?@xsf#m^Q9Qkg#vw$T*tC&CU3F{3DGBMu(#Q9t(3 zxteFF)cR=hvPIilrO7zZ|L&^+9JPx&_{oWxRKOl;Au57e%lT70LAf%e9b2=HDv&QP zI#5T?XV+j*l5Nv1V9YmYqo4BRBMKF)dqXWi0G)8vf@z>;(4HnmKvS3 z9U*&vJAv9`jjjvO-}?T>(`q#^usJnd3K-mQ-Eg7eIYiWwK*2u@>mc&5F| zyN|s$BcOd3VNbX@-TV=JqT;es6$KuuRO06J11BC$6#qEV>4Ia$do0G7J5&x?N(C(A zzUOTizytbv^rd(Y;~Nxl_aOEzj%q=OZdoC%XkqqKJ~wM5Bj!GP5ukBZ{QvgwBfH{C z3_B|D5_6%l-}Oh}czMiOjH~Imfj7sZu3%5@-c)#3{o4Ha4y*PQmSO*h)>2KvnL9x4<`vn>F0vlR7Lj86jsF!daMzg z1v|gDkcUJzyLFT&CAv$sC#L1{Jk}z-!-+@De*Xj*G)3GeS_A;?je-EVcrfa=zpnTw z&EqyHE+@{3k}Aj(6R5k3j7W^$`g+Xb4$LY$Dm_f@F(0zk529uV`vyezPMm}Ah4{CE z+`FI$L?C|OD~n?`x(EhyYxiNGoaMji=kS}js{8R&fw5anf5$78X^pEuC!%@NK40oa zhHiAPymKjn4xKS<{Pjz{*opvo_mzHy)q3`(%Ps{SxwNt4Y=})ziru0)ZD6+DP!0go zKU>l3nu+wEgkg{4P8`)69yX|?c-Iws7Hnq2(s=NYVI4`gsri=a*m2QZw%p2m(vX5M zxu`rF7l#T;dbr$6b&j0dEZgDRu9*b31X6ahk+ho6I%3xxMz2X8yC`twQyC(la<(M+ z;6L@}M+#$$GUwu-zl?oF*P(7SGL9!ZybQSK1>YT+3>3MZ0mqGJY^-(z$b~l56zUn2 zk4L0)m8q<2zi(kdkxcD5TaZj4LZFiPsj2N|ocV$<=f8l@N_Dpk$o=PNqxxOMpiI4G zTSALI@C(h-fmfce3ai=E82*@+z12QOdJwnuZPfz$5i2|GLU(yJNo#8>_xx zvIRF1Y?lF<%!P7pYEG`K^4TtJ>*Udl^xwvytBDx%zDkSWMq8k}^Ly}o3PBx{cwVqk z2xeUs$;qfN&9pKpgW33(l6Dw&CUiv|!3q=CxS*ss`skY%vMDr*zy~L4Gp28GljJo_ z3!+&ceT$zxAQG6|ZZ1Hgf5j`-SE{hiUdZ?qah~Gg8mh@MpSa8%&VhLllFG% zhd-?B0z{?=sG#$H8zk@kQqFDIsqT5BkZZfo;&IF2j~%HU3&+y@bg7eBv3*SFKX{gFy)7=qeaO(GaVBV`RKXy)HHcp3`lRA2 zZ!rmTBaJQRB9{r2dg-N;tlTDOFUh^mTd|c)3peX=;=baQuGKnbm{87)+xd&sSq+V; zIbXnWb&F}7(qEZ*|NH2Or8)Tg6=wwz(Dm5`lbTNgFwjVj_Hy5^YmX&0>4bri(k?<* zfvp#me_HG?mzxD%yXyr9%lnF;6+!k30F&@Z_Q~AlFT6{~&Me^5zc7%M+ch9pPK(uV z-N*rj1-b;~n3OFAM+=$q<@NA)2#Jg?JkzM!w zF+N2SPL8y}E|7ZX$W>v}3cAlXKS_TbjBQtSs5r^yn?Cl~usXfAeu^C!{s@l^0J@7M zy4otkN)WU2xRb{ImL%yUUO&4{>vNOiwf_>T@E_w{80@&y6L@u%;e1)nk2+RTabnh*aq*OQ1ZgbW7u4 zD_%=A1ao{B{&<@C=zR}};OfK;D0Wuq{4nkBsf<{+eB1dhT0lgTW8sHH{6ReUwv}>~ z5(BVYL!tmpCkjb(lOa1NO1yrBs<->MoELmbnBJC(TYZq}e;>$+HV|isc9|cPqGH+h@+EJo9ZHKROvY@h9iIX2o_p zRkt4-Ozf@wmvK2npf(^5lcJ+8`?VRdF{L|~Ha8h!QW80%SGZ|Nob?h( zA&w(foaa0dr%nUMh{1MO(e9T@U$06Kk-SOuVK5QuWMoS@Jj)Rt*8-GIQ~kaS>3wf) z0vvs#wi>rA@MUChSi-iI=I43dYWbz5dOjhv8=OvO89(7jj|^&i``yB$_K^R>c^C#K zu;v3&anc)HWzi15iGA2X21%|4`#IKaBqLj6Za!rdFs%QP_0h|PxD1GM z6U(IrqqJ>So*YpJ<=9OQU1US6Xx|-~_m9Z}I|YOv^$En@E8HyaoO6K=Gz1U5@;eZ{ z1buVMTsbM37T*(Ah`Y%t4T5BNiV$A!6bSPyW7j-V5^eP)X-b-tFGVw@X|hqKQ{R`C zb1M#Is|XIo|2Sg%O2M(Omp9j!o-Rm8a+$nUc6#gCmoj5<@wb=yrs{z2T)l0^uvS^X ztWgTvVpj9KR~f>;^lhu!sYcQE=u&gA5ngLP6~DVdIyBij{edE<;4!%FX=v3uV%g$3 z&7{Is*f2R{h)J{dm`g!G#%a+s2|(xa+Q;Vomy$hon=Eu_bIK5hSuJATRF$i5G3h$N ztoWH#OFnZ*>vvkq<_&sMlGhgFsVbLXtDn<`=N^d2>FBNXcw0PT<0gqoo8PXn1ofPZ z`88UlU6)=WlTViE<)SdcT?xM7V{k9*s0#9gSji(Vz{UXS#*4Ano_;aWI$d2$iY=I% z-FZkh7YMdW8)jzz>y`em#E}h2mO_sxr?$y#&Wv@Mldr_&VFio^v`g<${2Q`EJj-8V zH)+6q6(fwg{+U4%!611Exb@=VAxlY$3!qK4{w-vt;wpiQI#ni=vcc6PsVgb$ko+WmFTax+_`s(`+O(W1~@n9Sq0exu`uxkr;D z2$gkHJNhgA+~yv#*3$$~=!y*86-7dY&O^?LVT|gDiIu&i-NUMwOYq9`V2p@3Gq7gi z!q=tWdz+axBV#XD*-2C62(BR9`FGQRt7)xOflZu4GWfna^YixVhVDJ4+X84l@s<+UzZg-GJKp!rwuA($`5tIvxcVWH8~hTSC{+3YIxFqiq!q zKG@88q7d93yLF-L7rz_S%6`0XvBBy1QOPN6w|@pQi@Lbmp(m*v-~uHbx1orrKCA^R zThjJXYLa5aBh4S{Q<)$eMqLlOe{kH~7J+f2+O{L-HR#L@slL?ProcJ0V-DZ#gvQ@{ z4Ey?n|3t7CyPpjW-APdPi+B9*oc0fsXV-f-`k6Yy+PJWZ_1ahT#(uJ5Du;l(Av@Z-0E z7D`OEp*>7rvNGiKrau-~z<(!>sUE?5nBYTHv?&tOx%;>#S8bD;udJ*h7e8h6LxmA1g4W?WdwCLM3eP*}HZW`qd$kdhu8K(9LvpbKR<6ISSWKcGV z@Q0Tl=R{lCEsUxZdvY%#$JIzkLA)SA$mig`xkD-1DgDb}tIjD-4AG=v*}ObMIMopEL|Xl+9!szqBl-tmAb(W z0f|N3M9CdH6Uo7vmyfZSBJu@Mv8Bk`i|tj}o*L2@8aD|s(cd$zDn0q|6X*5;wO~8K z-H9=B>d9#Z!7}Z-6w(wxu}e8VY@K8axO_bMfcZvr)YVhly)H-GRK)*UIOr9_3AW zExhO5zy&Y04h%W{Z83oW#%U+$OzNv@IR_ZFbn#GjZm{y^r#dEHiC$M+ri$qJ+y>eA zXDqJ%4u}c;9c<5~z1X;<{$X3m-&4Y2Q$}Na3BGQ+5co2SWO-u2{BZD|thI-lq?}J+ zuE}u4iVSDQ*sW>oI7zw4=XzA%p>O2Crul4a0v8h>E>HztWX)~`GY-5TTCGcK7puIW zZL0wIXFF~Ny})*a3|+{wjm{q>OQ^pC;e>*6+7`FT0I$8u-A(Z&D2apxJ z-E}m4B!=;}vtZ9?)@loF+PjzAKG^GWG%qSE1yl6=%bsg8)bHH}Fx%Vjxh=8kb!haH{7(eqZ`?Pjb@D67~5~(*Yo@X z`&`$#&dw*^ap3b63D-?6X17Ml8|i(ew5XjOw#h2KV>8;a4|^Ye0xIXEhim2o-#cl_ zT~&+6*@r=}4{Zh(O-cND7#g`O7spoUck_w6>hOe0{^p}uX0HnCkZ%0c0HS0)t~4wf zdHfh-b+#oPw~JaC$2eT?xuS9N^k>t(L^=ZY1q8Z!b)TC!{DS-F7`eOtAZcaC&SHSz zO|5e*zuWz#uqcA|uXB1J$HH#dfHk`{8!7>z=_78Lw<&f@dD9lC2qUTg-lz$SMAli? z?c7gQ)$gREkG^!DYKgK~N6F0@ssl<22OiW@PO^#Z{%KQ$kL4oDbuyTI&X5_yKjg$i z#Jjn)O4@`D(Dfc%IfP{*9${xST?l>N9c|9~O)AsX9#akU9gU5{x0Kh6TNQ(6bA4CF zmZv-{AksG!@|dzbOF!JF%kPK=(y=vHTlCJvf7Z7ymg%EFVGw<&jZ=EO#~o->g~?RL~u^kmgQj&bODFj z>OY-%y)Z$Kw(I2zCJN`)tOH?m5ak>DuEihWXRrfeFd~*DF+CFg*>QusF@M8`;nZr? zQ?<>-8~t3`J+wgdPC0-eR5_7%XxhW9br2?!SF)tSWrTkqh~|GHQy z*F`$6__HgMGYh$Lngh72s)Qf$sM17^>#bRJ^=xwhTfywX*kfn6a(Lj`r9c*dZ#CKG zy?1A)2?~UjhmsS4$S?V#q>qv`9Jne9lh1>|${RJVGpn)8x)8?|hRVeUH zoF!J(r9|G32RbKw_Fvv$Xz8%0o3+8&f1wb178eldkplkW{cdLA*=6bJufIPpoECF* zQfqVE;{^E042c{=1^`%qe`E3>kd5EggErVCEL&!Amkr-=+I;DBMqwcz{KAK`*96^1 z6-yT~w(yS&k)$x&9FkRl=W!TMY(z^d2XwQ}qXzHC)S9Q{yAXVPw0oN33G~YF%uLNn z!!-W?ZaE+ppi_xDk}JL7T&>o+lEx~pO# zVH0DudnDDbR6b4y*o3xUNi*xxVa4;S2baG!sLn_(>}}r@)=B1iSaq)WT`IUyDCm_a*r zZ|dM}`=5KJ&fm2ictbnUvQH+j%Ad~LF0+N6O4jLq^h_9GxBVuq-0nqD_($#Fy=&r) zc=nq4d!tE(sf-4>@d;J0lohc}h_`&OvF#||G!@|JQl0OTk`eX{h`CCc9hy!FG(&HU zDeY|9A^PUuej4~Y^iTW;6|g%I8$3G$!a^~-p91kmgSW5Czi;Y@nGT!Cvh+qHo5X!0 zb>qIu5rMLNu_VU{9pIH#eramRkbtIpH8X_?urum z=JBy&z18b+1*T*{M3CEf+eM^&h^?O<#mYd<;I3xr4X4Ph@n`R9XRz*@w2dv(DY_V{ zEaN&Bd{!)OSXro6?I;ZyD&<w+DYAFcETNUj zT)ws92u_^106bjXO87EPfSB$i5}HLMI>bXM!YJ~qZ}szxUC(!&C$0vqftleM$UbGk zpjP!_?_?xpct+?57to=46Yx*612J2VR#98{y~7*M(e4Fq2Sd=U-|M#&;3y;x)&_sh zvgQzKSqg^N5d|1?zS<}y-%QW>UuW0UeJrEAG}D7!?sEh>+`IgeXS$l$o&`g1RiK(MAe5Q)8yC;O3)H;q+D%;>#JmRW0X9M{!>zE zajfd|_L>(}3U;ole(JQ%{?_J60CEXGY-xV*_X|D#L)f7}u?OvvlUy}c-GAXZ&w>o- z)LFUavE-B5wN^w>+P(x2XiO?7`7{SB!g@rq;1xgphKG!Yq1QzM(Qf*ocIQ#+*m1s! z@0e+rh_pg~9KVoAhL`MOCPQux|Al5@4yn1hXK<0|yRdKmAV4hmzO4wL!#9LtwYs5u ziM`z&^g&x8l_Y0c;F;;UB1&T~X6(M-LCZcbW{B~wW33tnG%PMUMMdwZrQU9$VswvD zNBFUlAouig0&>MR7@w&lo|~q^Wj@A~8CDN?#;cmNB4U+i^t)KL^|pHQBI@sxFEPTY z_f|qZ2=#Af*p;Vk&7L=`9A6|VgDVjxt9tFcg_(WBvWO*#(aL@+-u!ON_Z*k*mX+hl zzGuR71$@3UHuD-Y_LE=v^{alO->=cH5;qhc-O7W#bpi^@S&k+wmPaLCJqiHO9dEjr zQ&z(;ajuFz&GL2q%)dq=6XU0r%IP!Te^d{f^sk^83Cja;;&T+JSe?uprC#_*F;!!Y zedj`dpf0aJIIE6m;DN82udQydu~MvE&Z1p`%B= zw!#0>&)?sPc#7WZyPpEKae%f@$R&2?=yolMV*-5}hV94vNyuGTE5T8!a>r8E=Cm@I z&`tpfb2BE^3e%7EWn)sm&NMJ9`WzHNb~ZDRTsy&EXDnB|kWOxgTxx>L0VAzYeh&xk z>1EV>FsXpdVTpLWyHqyvr>BeK{T?$aCb`>?Ta^0!cK=!soJtio#PyBaNF#JqNc{oi zu8pmidxDsS)D3610gh6jz1`7OP0C4>k`?moMV5(;e#7hlNpo)ENcvF$(JaFvfjsrf zRN+NXg3TCaFs(7qGKYz`P^#BSq--yKJ31Xsw``in)?PGZjtX^M%G2`Rly-XG6}1BP zl>9VE*ZqKb-FD4uKoqW^e!e!~=VDAiO%yg-AZzzNDaLC`oU~O|?A`c}3-i|{ZI~Ci zw0aOdT9$`!f(5Pps&t1BY_*uFw~YQSuakuxRNlSYC#(d$lyO`WBBmRk+te1lTRvww zd`l9ty5@#~hUyF#K)D{oTk|JCBWGk_kt+Y{xaXQ_GLIerrd;{iGAGRw36F1b=`cP# zoyZ(k^Y;$@!@ZWJHI1&HSyE5_ zI*sO6?iUb6UVe%;)l&5J%zXyvyOIjkCyOi&*s=%^olwOR>W?^(qh+61o-xN4bi~R8 zXugc_Bh0H(=KnIZie*F8okLup?h_x8x-qC!@7QT3GYP(K_wiEg8yW^?sJ^0mZVl{!8kEDJcp7vfRSVZ{s z0&Lp$P56+=mRU*_StRSEV^g5XJoxm()L!n@Gb(pYQl1X)UVYtjvI=T5@McTnW;r{%oAXV5h20;U$EJIWS~o~UVP z4kHxglAS>vZ^tT`z-w6mfY+y2AGsij0QK{$+;X2*PNwG%!1yo7ujD0(cT`mwhD&!@ zEbg#sv&ILk#Uicen;jkakD%wy`+BqsAC?UkcnZR4?z+2w#|xbMh5Uksn$iKBl2nCY zoA$Xx9wMV|UWoUqtl_}10 z%`Y6~aTZf&a4n9Pk?Iyd(IL)YJmLoTHix~~`pP|@*`Xi`EyT_Z58=cV*5tIwb%Z31 zX0tVQ_*v-irk#c_#R1NE#MFoCjzEA>bQRa}AF0+s8|P|O9xy&tSWt@nOiZC%R}SAe zM>85eEyb(QghL}smScY_*1v^Ai4Jo1Q$p^p#wQ~uioT2QFQsQxax<5ER0G3dJNI}&EfUPYul!Cf3}wNm0(|5|Hva|rTcNm21A0Tw#6?va1@Nb-w1&@7d}mY_5=)NR zbtnahvK&`9QN1Xo9=>IB_oA7;wbE0FLv@z*B0t9M`BSNGnE6a-=2;!_Aq(Y$tfE=s zbPWPOnB1+56R&g2BV)mQK)C!3n5YEOAFBDnpUb<1Zx-tfc&}cy`A|XC89$AYadhk* z;>0iVIRGpKgX6AJC2*XAbixR83KG6sGE9T<3}avgW~RGa2IX|4vP6T`1B)+xeDo~o zB7EF3+MvT`HjwJ>g(WBs)Iziy!frr%hZOh$bqX)71o4~=`+wsG+!H zE%t|D!}5az**?SHrgvnlw6|BV^E8(|Vdo>s2PZ50reC`>j4z$4m}N2#q#wtfR58_U zz2l}!@gIyxWp>mGJXBcwNY6tuG)qCHcy}igxo_)ppB~rY(^?WJ=O+vuth2F0zuk=vY;u zoGN`lYGFoORX>ZH`@Wo=Rd$EXJh7Ra-TM9HI?%28<1q?E7peBtu_FpigNbdbEW9tWLY5&8QX(3r&v`o?Plh_B+ZLrpYaLAzm(9F z*)O@dsk|sVU=86zr%;Iw?~WH#-G>}nt!+M{z$)T_e$A@45j$p z|A**1OG7j1@SK{B(9A%!i)46gsHvSxgP56t@Aeqb!A)1}hDY2(t6%mUaj5A#1db~> z!s+HoCZB@A_Bg3k zR_+)=8@$Mz_yHwV&4%c`&tGM!CN~^zJM6!>L!y0Rcx~E$aP8;3ktKH(0Kwc)ulrgS zKD07CEY3wv8`)2p^m^Ec$7{B<^-9@e9E^g)aigfYPd;5z*{N$ZCv!m>wL@g;4y0B@ zaR*tsMNW6l@uQf6c7_F_;R35?FdHiJFFR^s+srR*yC{%mq&VmV^>YNE79L__-Z+w4 zY#KJZe=pU6L04CZ168sU$+cTz+_+1<&p)qf@xOQXq0t0S6#hP9!cc}UcAvh1a2V~e z3Jjr@qW{}|DPC7r!XRC zpx$`}VpHi~FyT^Q?^eeN{Z@rZ!-0A5W@6jmUaFa!TB=BfD(R)*fu344H$9Jz7= zPl<=G^nXjGoc_M+Bd3oOXMQIy9wykr)?wmxhSkc6Jrj<6&S!Ru@t*d2n}rUuX*cxz5?WN zf9ty|8#fi~q2tgS>p0ly{bbR>UDfx@9ysEW4zfx_md}%TA9UGL74QaO!yzLcWmCD9 zjm0;9kcV~L448P|H^b+h1s|`OUoB{AKSyB_fGnZi3cT=H!(qiv&s|s**{Uhm>(g!r zmG${j@sT;g>CIAPr$mb@;Z1@FX{U_aW5(29eQihsApCLy{&A}hqZ=_0GR9)Aa-OLS zB;Qo?-DHAv*8NsMP_0X_Mf99wU&q-ko( zSKseHaf!Ijc<~3lZ29*@(&0RICpSZ-<_iw%(%z8I;e)h_Q|Zdhh!CWHSWWX6b-||f z$4F5bk1CVUg*!D5ICDU3HAqVr%RfG%-&lM*gjy zZX-`0CUJR+`9;S{@k#@lDXs>c%%~KgczD` z^snxOH66DdBBI^eHIeQGjNDh`G?MJK@Jp9Lbses^VCeD9ytY#RvFF)NiSpnwP5yj9e8mKE4F=kPpD zFQD?|MHy2G>0a8YwAz0I1G2cEp4d_#!b4MRHw$+d{SiLxPyDsXi;`noc~_^s{v$9FOI#dMiDpq#_f z0?lNnh)JhKO8iy!Lu!)JHL1zig|_tl7#g1s3y0}s8K%Y(^x>_d(6;V4md=_Z;sSLJ z(%uFh>p^~w5Su(Zx~ zNfp9)#oNmp@3bPc{J`!AAM6!Br7ZxCRC6!%XpeCe_Yc~Jmskk4>3C{vGfX<;nVTJX}cg{@~ zu!Qin*SW|;Fa>ji_vSqf+SOgmop=|a9|pd^`7nr+hG`|E6KN|!v-DU5BDUr`%DCc6 zMqnYf_R9fcPw9N&QyG@*)r2hjfDOK2-a{>cMnVoAFm}pv+)DD?AwKpQKbUpw`jJy6 z9RsM4mIS!?o+bFxhIBV*s5A!t*E&o@>XUK!)#)}UUS~N9IY=5uW<@$MNv&#Xt|n49 zSs}wCP#-^>Nvm6NlztTFUTCiQOx!u8gPmnd*?FsC*NKoOYw_f=O<26eYE=V+C~~=U z2kL|wwe0<_RXtMlg%YWuz28O&9*}WD1SA{4lhe%#g>b~%uwC6vehS5t38Er6p>by(zQ^$#EI8 zRYBtrT+CF!P*tB%DvN2?4{xy^O95ER!&)b!p$deQ(CX*BRyX{_Jgg3d@tkjs6I#ti zMqRko{{@+G>LwJTzJjo8Rf!As-%lz?P-{L48t0imo1^rK=_-_9NbX?FsB5E_EYx6; zO1|eaGQ|lXQAd@p!`XtIffkK8v4kAdI~jq|~E48o;u+luG*AR8wa8pE+x>(aw_ zvj;#dZn5&qhdZ>mOu4qZ0}a)BRK?DGOi;`0tEbhVgYjiLo@g;u7&AIJbkw(goKWV6 z)a&PkJ<)q(!iWgoyiVx<1$ zIVigFFMZ+u{O!eJW#8W&L?dX785l6hnbXV)z2Aw#`bhkoGFUVWcMQ4i;Jf~@o}0=( ziF3s_=geD@Cf=oP(KKdyl*A9W0!3&zXp<)v)RUPLy{LHQ#$ia#^V%z(YHd~SsHdCW>Q z+K{ELTkE`)G0y#Yp<8;(L3gD0Lax6I}L-(N@&94uYrlepOVFmO4??&Uj!v0qb5?$q{O-Z zU^=Pf1KpVQ=9aV0W&0OjlUr!`9!#%xzKibUodx6zuZ(!)3tp~LS=0+dn+Te|g#L|x zDz+Xwp&kX;7WBj-D+@oJyRB_hHP*ucK;J>rJ#Cf7Bgy!Cnq16_hFuD_<5)>fWz$PR zi0xwIa@jJ{snKR4}!te{Ngo>>QdHrA!#)+@~lc(rAOHMQ$abE!= zGthAbAp*UxDU(l2m%jLS;k|p}ZwA0)Zoj$1l90c|gQ>roIX2yYc`R(n+U4CtS-#pT zVsXn1fiIj?9e6w`eE8~;XhaEb@2R{l4ozTuItqTIdl2YeYtPD8re4EA{-#G({Z`Rz$L%PzIs0g&x^Mw- zF}nPFi*xJixeNZ!irB3bGlhv-XK4U&!nyJ20sXP11)g+{LoU)tStqY4o(Wv8E9f^! zHJ%}rDZ#vub+yC=%ETrweM45J#aV{e9$Eh{!+r7Yx@3n&+CCU&ri#a(+CqA#IrnRk zcNX}Pe`R-KBFt<(u4VXfD{7`pO+$!9J+r^`EVWgunN-oTJgT+Dt5_F`%(xDNw)bph z(k;@*i+Y8MBQr84uIEXugVqV$hZfp+(rtL37w!C)^%ZK_if7+K_m0dqHb2y8Z%6?} zWIjqk?Uu3E6OnG@#VV^@WKr;J0M+_g8kU}eB--lV?o$Na9UCdjFo^;8&4rZ?qzh2> zLSSa{6E7XPyGZw(2OVgV)c`C2cLXv~@-*EpeAXK-XHWO6Fy z_7HMI-z*(x*aT7!kzJ-NQ zUdw%!@edgNvl^}`L3DJFyIX+~3q$L}nv|g|!Tj|M?V788Lm}&B4>?Gj__KG$UDxs`^@z4tS9eUuy zaVfzET@ohs%APvbp118>sUF{$z{1r+3Zb??pJTK>kdIGGm5|8!`& zO;F&>?`BMC>wu?%!aLBB1h6O!+L53z2e2E>FmJ_VAne}rA^L&lw2bgH(ffVmjhtBfvr}S>t=)Bi=lM9e#~_Wy1obD7s9V5*STt~>& z$Q2mt*MZQzc^+cn^T^IDI$n3cj^M>j>C@;=<=DE()n}`Tu&+sibkgeF#i{`bg+zoL zJU2XvaBW_R*`K@sglF=gA1vzaEOu`ZOnAMxh1zn!Fe$|D5M$u`Qpr-mprjTv8(F_F zPs7;Zh(hFEZwprvgIkLJIMf0!7!{ci{^tB@uYJ8n3Lk8JE1`q`p8bhN%1SOCeY^X=*Fe?2cWsoAXA!GY$I6}K>u6VJ}+iFG3? z6%~WKu;zXutY=1vye_OTVRCX^CXTMQJk`LA_KfR-R#|9RqA9i#t1>RN81!_`XreW( z--l<~==^QVX~tT|5wCt5HI)R*jjB3v8wC$wFRD}f0cvud^G%a$4o`9w?$;$EXu<1X zUegMR5eK zM*spOU_)+O27OVg1GzIleEA$>T34_)!Hc+N=hM0t%ZoPJ{*#cRj zAk}4s*B1J4{WO&EQ1wIa28pl=5I2qal_2+$Im#=u`&Mrr(AX)%;)ix#g>8Mg^HCMJC2;~}Jm=Ol|0c9j6wYj>SmvHB z)T6%|u2sLat9hSqNSCN*P6$%NNy|%HPz1eXp{thaDefgJTm1pRUq@8NUqpv&dBqHV z-__O3d*Nk0Z;&dubB`)wfk_pH`y)v`iPOFu@wgypmgz~4$bc6ue_P2JUcp2t_Mj%= z=2q95x7aerjZ8<3)dR1-Ct@hui-W}{Pa>4@{_{P`F#32%euob2Wn1qPg&7s4wCJ&m zQ)So8^S_6{6&^fKmaEd=^8IeT*9x&1!$i1!vLn7ybfNiKg=l7z@velP8D_%C~NIeIBj?IRG6wq0}k>{>a~BJRjVQNCo6(v zT=>71xvaKp0grV8OjW7{r4lMJ}6%#rFnq@Kt2Jco;b+XT6I zzBBeR>G&?Vo79XRcH{qrFsf1t%6xHL+Ww&{d=eZ+KezRDDHhiNC_i_L@pc^ zU3fE-MUX&GHuBtFNK8snKCD*u9i%f^RRPAjrh}IOUCAG_%*i>|z)Pu)$3?(tTusBI zdNGyI-JQ0ZEG#|fiw@Y_eMB5*RnT#<`w|DpziV`&on=2Wu~HnqZmK@wzP7jlx$UJ$ zcq|#i$Ow1N=0~M(m(V?~>sbk{`0I?*m&00IxgOG0|3mn%E+~o+WvQG5#{WYX5Jza2 zT7a<)AIZrnc|IYP`_3&E>=K z2+B!-=qeMluJ7!UYoo7qk2Uso2q>Avi5=it_PY$4lr~wH13RMBfh1tAoG=P#Izdxx zuQy%@Yl@efi?i^N9pFYtnuM)Kv{fTcB&H;JbT_O<@79B6m>!H#7Ch+Pi@gwj7WoCQ zFc9PRU0B=szV=ePN6}-kh`6qSsA6TSal)87?b3VH&Wga%78dc=dQpvkxLigLE4!2CfwsjwczVwMpu=H9N|r+7duDEr#Xsup2~R{FYrp>MMuPADD@SU{FM~67q5PPhQ>?>S%p=^ z28VyY7)uPYx(?l2c0GKJdBDGR6u4WIG$IcqH_s$6UB~DFeZp16FcA%)>4NOTD@x`L zrf z#;kwyMA*zp#%1Jb`MR`FwqK2f-bI~}{9G$xu~wp%5S%8qEVx!F1)rF@0^`kT%O)e}8Lo zQg^v9CuEUHemZ7MZ$6|XT-^MUoQlM>i>1Y~2bI;~(sCL>JhisIlh{SfKT8gww?FIf zWgf_n8)(pmrg%)!5j?i7+Sf#0TOrMGEgz7Na=&|Ka^bYDuWaLYS#-qM%rvL2fi3FG zoQniW6K#f0Noam!e8H95E(2|q#irNE=!Gy%B*-1FPUlD%JY{}rmB!qu?g5!zZwwDx zQJe*&SzdF&BuGqIXHJ-Nb8cSSZ&jEUmJ0A&krqox+)c) z%L!_Enjb~@Qt)S>%+0H(+YN&6(hLwIyfpLkF zoUueWk6SiR_)Ay6gBhVG5f(8gfr%szUGFp!U7hv5uRuwYN@53d;a`wxGY1Y&SxZ2S zX*02nl7G;&gpk5Sp<0CmmgR?PayT0`7ETx)N?3q;q+b*Za&#Z(e6*xD2<%2^`g#FVCX~{vL(JG?LkJM9p zEF65%OLi;=374mQ(mVWEc@IXuP^T%o_x0*0J#3D>>OvhZh`#bW+oCHWLZK>+7LAiG zoeo-~R=iIu;VBh6a7-2`>{{6BJeE2iEd;6RvC9luq^wy@7Z~AQ{mgW+5E|({*^X)C z*fJ7Tx_C4_BzOK0V#ZCRob#{dt)&p0)iCO)KTBCp2MIf(OUMm_Pe~7FU(4~htNUKc z?k^VS`>tL?kMt8Sd*ac7=9LyOrycObd>{nQrGR>nFmUJl_~^~Wij6aAJ4aXY z4=sUMt7Y-tvp1o$CBN9D3Ef07{|JvH5yj~CBZx=>IvN4@B68+uz3#%T7yOy5si}^i zDR}ckBPFTi(Z8^T@v+0hpI+dFGiS~tFUN!TOU?rGIB&uXg6~-v_%6Jlw=W~)N+5)kdM+;$xj|AwQi%GU$THF`RPZtOhkB(v6$vW z+1^3cennr zG}~MzS|kcb2T+tGtCn6QVH9s=*u~IjAc+QDb)VYS^W3n`V3Gjq`om=UsX|f2P)lIn z_uU_GeeaS3o7@jE667gYufG(EwFZUny6@#NRF2F_rYCN}H`qPS-`><2aS-)eJLnxS zA-{LIBY$LE_i~=CD`6{M`DotyGpmxV?HR87LimwVe7}_(3blm8UNp=c3eVLkG5fAa zoI!8~yK?TDg2SkGu|ip0knUbwlByeYg(3_ZWNmBg+If0#i*|a+I*o&}c5VqFgk#3> zQbGI#AI>o3!}eMt6(85st1wO&b@n3^1-$xSJWfxa~j!k8FIhtI4PO8LPYabU-2nX$D#vgu6E+&@;;TE0&A z1JrXq-4 zsdf!ICgZfX zL-*@|DP5W1lgZB4J`U|Zc%Mw41FMEA`sN%G2kVi-QvdrZz4tuV`_u4S|l zjm$x)gX!^KiK5Xy(EC{2i`$zUs0$*HMA0X8qVxZ07hgU+F+0-c_l<>bl_yw^FVd6)cO2OX9dp zb%#vK7_Pp&I_)*<$-Csq)wx_cYGDg0_?Vk%Q2Gpc7SP)hK-3`(2SxrO>(pX0p~h@! zLRYs778AURZ?Jav!lKlVIQE(EFq+M{qPU9l{o11j{CqBVSQhJjkp2f9g016?vjoFc z|FO z8FV15IvCMEyu0`+cfaKIVSYWPb2Y+pM)qf;&wj(+`i$0T3Vm6a^v{6R=`Y&p(zvy% z#)ubFi;!=*9v|b3W-@=NpGj;AWM18!<{O9bol|lJ5f8UJ8~`PRjG-#7!F3XTOh(Yiz)rtkv>mY7n2! z^V~>6!sTZB0qW0mKs9xb_3bLos(m2BaC5TI{l;@8X4b!^Wh>ny+gE1{kJQWfm_;c ze3>>kaqb@>)Gm;7(}RKkCZCt=WJUW6II=Y6e){nGoQnIVK>y^QrKMD7gK3)Pf9>eV z=7<~KB6~>2@F4bL)xFR^=+}6rfoZD`tjVoRZc?gHbTm0+=VV-%pmJ_~kJ|lM?Cjh2 z>9M2DS+EvqUB#%&1d>ZDIlKhFH9eg1KIAw7shd;dsmbd#>He-FH8djJ%p+y^Xn4V0&VVkbvOH z(6j;8YJQo~BA>cU?>K zU@#3b50+qzavOCyKN?KJ4mcrw8&b)l&%&c0f34+ekLSC0PR+eG&AD!9B4m$u#b=dY z#p&U7l6!^~`(DN$hrw!|Y+X`fO)k7f?D)f_VQ-G|oGPO4wwS4^yl?yIbEB(rZ#kZ_ zb*JGbV>I_efh7z5f<>+n1&!9ce8FHAm*F)n_b+%epEnaD_Ho(*XrC2NJQg%7C^+15 zb)v13F>XJ`DR}*+L%`kNR0e=ft;xK;1@;eJcbe8SWV7e}^LtinPSP#?J29(#DN;JE zwk=eWnAI@!)ami8m>yy5w|pyxTd$=>m!mS9YvZ~VI5(JZRQ6MXE$&qxTEmw3Zta2G zw)3+8NH~m(&psnBFC~wAAd^OUa3_C^La_}ibb;W}F!Qu7@)4}}Y~zwhUaB)W8gP*j zUVWLSCfwQm;-Dsn5k{KBp0mhk7xEot-#cDvVyAZg7#M_>X<8cn)!Re?%zA_Tsr(u9 z24MYf*ZCud#7$>bZfAl_dzt~8;hO`84ffZiqZ3swRzu<(5$2G~$=Xc8`g3tc9fx{Hexopjfre;$kpCQ9FwXwBgK`7w{B-Rj!8#DhPrO43hg%v)*D{7iXWLnh9X|9G|dHe zO6I-o#iKaWJw3CpZk{)jJKeqA|C(-{^lFYqKKikvc?Eu}(66dJw%o2;;m(&o^$hiT zz7#L{>ze(0?1-1aTk{4>Po$7D9tqZ{MMx|qz^rY*l(rbg>OpG%SaS`Tgp{}{}Z zy-19aVvF5)vG11J@xB65H?*qsx}s%|6-eDH4oh;tMImb{fTSO`@~bW%=yiHe4;{Z% z+U+F5TG&m^l?nj6sp;GI7eaagA%Tdms0T6=W0%quA&MpvclCS%PQBMc#4cS&zV!6p zYceVi_{Ze6mX=>=8AXh#C@1#!M={0sN-XdO3_bNE{y8*e2vW*XnW6_02aba>qaNEv zJ$jXE!kN`8d&@#cGsL~M)uMyY5w-$PB?O?0i;V4o8Q zd(jdn!$j}o_}YwF4WKJ@#srv1PyHz{yGcpv6=MykY1`TKEkeCn|3u#z7ZOmbf}CGxjtBkqDHOn2@Z(^@6=W%iFB z!>df0PlT17N;`$}&OmG<45@Fqb9hyJ!+7EQK-PyhCuKOG^yeB&kJuAxuUtBOInh!3h`_Z<+Io@0{E zZ^b!7`tSWMotk-nW&Qjfb0t}$=-IGvx%x_3n@O1{SN$ilQ0?<;k9h6^adxo;t$zmv z-X;j(BPYAmfOgDG@50_|E&a7~yxvd=P2+sxCj7$K_K#?Cpq@M_3L*cXfmiDv8W-g; z_`5;3XJIq5FI8kjE=TjR=QX2*1n`;>zJk3ymPBvxkxqH?G1F4dYq;w&h;n) zpmNT!736gOGid$yZP+K!{@T4V)a^&Ro?sQxTn8og&i;EJ{Z-0!=E(qiF*#IGnI5a# z1apTJcr!#$?pSB>VF4|Kv+}c(-l>L3(X0AKo7ofTOsWsH@AE^ronvB2;dc75yh8g{ zD61Zke?8xw*pIoAQ2z<})8W~<^m34u+~Q;APUv$X(9y|1%LWdIxO~NKhf%kN5n_I5HWw=dN$Fzr+9YX ztbv+a1T@qEKS4hcSvw=JF!?`*3T;{?;&Z4L14%L{d(TI5Ryf@u`}h z%{PhpZ#12YA$B0{4!sp!1Y!(PK8c8~DX!){R892Kc%sQaEEFfO@n;Y%xZV(8t5oNb zQAO()s&fzys6~~oVIM1AYBB~36DttVr}p6lhy;a(PG)d+C+b5up-c`0U~`+4%=2{` zM^rP5sQv4h4<-UIs%F!2qS==fijtBsL=Rj=w0EQG95O1=rPdZh_*s-V!otLsArT5W ztC3>2PD)M)b6voj66O`!^E~BNaf)0is8*A-XwFnEdPa#@jLn^kX!kvx-HD z3oK0BfV$oFfO?@2r(t+2Cdf*9aIUm+^dkzbvou6bUvun-5E+BUTk*ed6vCwFbfWp! zi#{a`qYJt6f1|VM5UV8sEKH;r5&?d)()R?jdA5E|G|&~=8D#P}(IA4aRR)ZqgV-`H zs4eMMa1arJ*eh?(B%1hrqA3@MnTQ!iCk`%kF4vewBIB?y@d6yc!Daf7+`%llIyt)} zg4(E{Lx>@6bc@0ZVY2oyqG!hvty@CWrf0})Cc_};qV2O+lQ=B_VPWEjoRlg06`Iw7u)Cba}><9~@b`02U@;0fB<5bwuD)Ein8VM&ls*?ZELU&Jbe-Vw+%C zpk4K@+0cxGNxb+$#xUsvKBAyJ8!seXyA@|Dd9W}Eo18%TOw3!NT4;C{CS}GO{FZ3W z3u8}zr*nt6e5;-=h7z)PWSI0}o>jQ{6U7-yCM-;%0-cyzHxkv%R4+JW4b4&9j1xa- zcZQhVF~|KH?O7=LmgqJbhhee+=KC2g%lnt8&P`%rVG;+Je+Sj?NuPlj!&i0fP?>1Z z5w@SG;Z^r*)bP5xY%&ZJ3^bSLYCi80FC>g5EKK4Au`3QP7n9?u79nQKMSESu(Oy;3 z_Lbr+uowD)nM<2%*nkzp8r40n9Z@Eka@urN_g&tVbE!pa%NY3N@9r`X>X z!$C8)AY6UT-J`EhWf@W9dwhKuCau&xFFLt1uCOpk3g|4`u~kf-S1~?*VX}QHQPT&8 zc8R_wTPKdL(dyi$ICBic_y&FWFanQpg@s8HK}1lD=-K^GZ-KXhSZ)~V zS}r)MK_}Q_JH)jwxITA@sSp^3Ngw^~+=Sx+7A8ptZ_sF)+%uo3VjK&TtZ?`pQ~#1h zM19SwbHy->A99^thg9bxHLx&A6DNDbJT@3TgZWZenCMG;g{URLwLu7a2o=6I48vpq z7A9#05oQq|<>0b#!r-$oNfsEk-LOIoEyP5TXxcm3tvXi>!!VJ5Ie>0Np+Qba*eNAidXwB7z_yU23QjdXrv)(wiuTDiB&k znn0+5ki6mde?Gn+a-Hk!&fYsavpX|8XY$U-K#Q944kZBr0k!rs4HNtmMnFKAa*OPy zWs8sp{~+`?(RxC-Fe(AYzfkx*v+^e(pkloF5fbF)vk?%;ENN?~nT6!<7mx>Jm|w=5 zOIQX;R)a0tIv<7^54-RlW>2Ijh#m=h_CN@>JFyGhq!cfZxD_dRuFu#MIz5CIsymYrni2nZ% z-utr_!$Bi|Gt8X1u2$`Lnr@MFIu$7SHC4LWwf`t1v+R5rQ*th{-wN)zpxp7JAjx$u zxVNdRt}_{RA+eyGN6JR^^#3s#(FJ7fXNoh>|3;K}9*F!0gDXdqdG@oHo5n z?Q2z=unDAE)rWqUN?_%o;9Q1;N|Lv;2na3HTX~H+lV)wLPyt3qMHZmj8$&&<)|;Qv z!<1I!<2#RGc9-%y{;XzBO~Ci{*|VRc9qKOjh~*!lvSGv{XxBiwoyT-$YE2H{KZ_IG zlgfUBK$$h^x3=iwQyg0El6H!~brP20?v3j*|ZC_ha7>3(L%8YBMZbo(nu zX5v)Z&(^~Gcuw4iug~gP<%{bW)tLJpyH2FP&9F|y;{|&ZS%O&3f0v>LMd*n18+&Dr z>P}jzT@kBf@%m0?>e#*uTz@6NbS{NAT87rcqA2S|-?>m>Ksez`ob%UbJC7Lzd9y0G zFZK10to*`6Dn$T8ipR#@*q!oVqq$7p=mrChbEx$OCb99<&=@b`l5=|{13QNplCP+* zOC0wfi=g2w5TS#wpR2~F)-NIoLoi}SACN~YWRe3w3i&u=HywKp+q5<>v;%b4fNt2* zA!3y2ApzHs1)h0Hr8^IEy#&cw))cm$fqU)h~MV*V< zZRbd*f%ve*DdFy2Ay8=kT?brRXCbM~+tY$=F#IwHYKpDb~m&2W~lNFd0;HYJ1d~vi=2=!M>(^$^|Nfpb($Lz*n>;k zN`~+A{$SrNOFb~g??QQ_JhAsC;b6|I;9@V@=npRf^u>y^9IEk+re8ME58(TJKPYx} zO9QUo^Vw2z&v;RmmUY94QN33UVu4+^0(eVpOi}ib!ACVhJr}NGwhxhX_-0vQmZ3}J z&oIi;jEjmh(%&f%Oj2hg$(<+HZz`M`O6d5yzG&!_ zk(M^ceTKv|S?`?{CVV3QG80&$^X0ExoUslkWYS7!*?=gsv0LWISdtZz#)xRX)OXrU z2CjVK-)Uul>dmeibikX)hj9@=zXf$6T%M4jQCqgEki@ZrXW1a-xX!m;!SXC6+r(@o zV3F5@XdTO^vvT-k3SHhnhcC8dCO z{#_tebvcMA&Qe6BHOuMhJbc$xHr23c z8$?w&D~D0b7>{pNz>zl2B{`^D$oimXJ+o%G)2330mi4v#qS$+-Bg1Xtj$Odj-9SZ3 z!L*iu*#f5V)I;H}>_nT7?rg(VZ7QF=bfYzDHsUc1&wI=6^s$u6wLrNn6~s#;mG$gK z_H0=v>~@|!KVNj*j@vfnXd;Kl>_xZmo~Pc)9ypti{CIv*K8iciz)RoUHc{P#uU(DxMQg)LZ3tv=IJ*OHO)pOMjYy%6bbDPUw++!V>g-VIeTJA?{wH zSrzgGr24=f)J1hlk}~*8y+(@WM*`YemS_rty@?L4zyyejxhUMYI|0HzD+K+=FRH$d z=%V{^A8?L10;Ltj+(r-)qSyz<5*@A}2wASHPoCsiRG+Lnv(D^_m9zfJXeCHjkM#PP zsUP5`xm-wOkZ*IPtRv;p{b%>?AyFrp;|w*yU2n3B3y=?176aUQ$n3Lj?;w(CTSAf; ztnMivm`AB_SliPm)gtlk(^9PW`DZU1HKuOBN=vGBhQ@pUs~?_l&$|f(52qcR0_AvG zMBlL;3|(^XoH1+k!9HI;5u)C6@Tbm*I2Y-2p!KP*ry9)5RsShn@UbI7?dYUe_U;2$ReP+S#TjI*;HN;z`QCHL{T-}eXb8g7m5?RA# zA{3<f&+{5^)waYI&mUgad<-`7W?r{W_@&7{+}fq|^KwjiPQWQBz@In^;3Qc_Zo#8oZa zQ%aPW!-b$_#9R}bmd5b>toZ+$gjz=Y((>|j_nRaRpI(dXJY=@`0_ccy=wHpufq~OC_D>y6zJBM^fgb1q~_#2itXI5RucW`>;4WYEG?a~ z=(MmJ7ycgKC@cB{QAt`?g;Fdq;3@16gwvQ=HK4RisBF!V=V3j2oQtN4My@i0Yc|Uo zsgTsn%$BIdXmN@$e<5LrwWHAJ)KtZp1%1d-VaZvMP7F%6Jj=puFG#TkmMAJA@nQqJ z1D7&;)G#e#I&L$Al)i!&%e7FM)6|?mDv`B2s0R`(!CIFmzGiR8s3aYCI3Z>_C` zv>)WZeeWMmyi3XKx=$*4pD<+ODi!GKD-*sDDAdA1LHit40Vg^ZzW(;J4;AN8sXjL( zC~6h_`hxlA?DDM!A@JC4F;U1U(*kTPS4H77p$*dcDDjfn{dw*o>Nc|)2;J^%=I)8w*>@=#q zJCr3~qiS!zat;Rx%8FWPxsR&HQG0d+F#1>J-xf4|ya=NZy8B^5l$4aW|07uxbpLr5 z&#JE|rX}TUnjEOBvn@U$L$Y#`Sex`^fJr^wVxmIc#T#d#JsmcCO|b`)CEl%5b6j~K zLAU#zobO<+brridH4P@cKWCx{PHoDu3pP?rYj8x~ftCXsIdPm3ue}q*q2NHd2G9Ll z72hRdl^+4u=J*pn6@@`5(pu@45D0F2&_g}v-*ogQmX@E?_O+kH5J{D0z(V}H4&|E=2r}}Ca9Ku} zQkTE9>e}0@eg^`Me_s`+i0-59q_RWSOG!mn?ZuD$X(baxu`0X9lY`PzA21%G)?mX6 zs@1<5_tE1j{_Q!7nQw^hp7^~_e}a+iAMN|_fe-ShrsEEctH+!^2DR73epEtrT<~MZ zo#3qW1*_`w=g$@09T+GX*P7m-!wac?j~6P+7zQ7WA9rn69Lj$U=N3#yyln2#+1Gs% z%@Fi?`*dnOc`uodbR02FBy^HKI`z#yEw1<8QHf8!U@F3^4Xl4d$#0NQ+lWPWF0G>8 z<8;6Ecqm>fy~7w(nAZF$5*A&*VnVUvmiWsoAN}r3PjV>y5-*mOghhRJXvtpveXUd88UX>=;oBVTVff( z%lZv14R35O6Ma1lC?#<@k2=R4&f1UN-GK~5H6uGr>V-arp*4z^>Eqm-8*AC$lup^9 zU6|X=3%2Qtd2a|bYxMcRYxT>PMU~ ztokTmb@%n3MDa_NeME5lq56KE)qex=x>%$eqtf;dZ~MM;!B+%HMAvsLchD|t$mc$- zjdFngQN!aJ9A}F>1z}=4gRS#gGBH&2jyvit;3R!PndBhwD_RR<@X}r7mSF#P%7f!y!ml=;v%GdNJGI* zS>RN4K5ry8r)wlmdWt68;KJ3QsV!|}s=>N8*!YTZuINoHbQ5?~Q_p2mHPIt5S}r}+ z!RX)Lz1o=?VAbE<-CYOA4#)|wGjpKMdKgS39!C0RPijbEy}vvA;C!@Rp=njrgjM>z z+EPl+MC#NC5k(mg>d0@B54;wX-`HZ0hgWXlA^_fiN(@cBx*pJsi1LE493w&c`|TU% zz2IMA_m39Nm3n=sUR}@TnqlsvSxs-4iU1gmLqdaW=2sxKMGfOwbzK*~Df3sC*e-=^ zc_00TE(0M75o-H}wy~)F&slhBy|%UdnV+{qmc<0ujX2{n{NBpFHYjrW7QmJPW^4iY zQYQw#wT{S=?Pov49!@oUd-PB~nhX7Wau8Qrbjz>xoKhNl-bT<~gEuXBm$amH1HFzk zN^;;nu7vnp_y<}ZCC=ff&VXFgdJzx1{X7h4q*ZL{2D(2iqLY}InYl`DR=*tqpSIBZ zR~$;e*(Gt<^e)o9q2)())rH7ZB*P~~&h2?0KeCpC?3>-7vv0WMocMEc3w37jL4xnC zq;R;>ssAA3a!T1X=lrP9;?e4lSMW*0{VSm&jPu~jj-pq%5*B4!)VUIm-Lr>Gm)j6W zh5MS*Pg*^MUY^a)c2siD$*dlx)4g7QU@MiKxmeszD)d@aGIW6N$JY+0xl@X3%ahhV zXA3uSh-L?Z#>0HT?`)Ik9#;P+Y0_6esDi%%T$r6t;kWbk~D>- z)l|2vLNymTtVkfi0lof^FuWmF79{GW*3oG+KFQenro&}Rl%Tw;_W11Vil^U8E`D(z z8q#AgQ>-Z^`W)=uSpLRS-@3hAQDa$A*Q+&{pkco}D3@aoom9z{Xk!F*flb);Tu8p#Xs#f5hxi}$DSt0- z7h7xf*q=*+cnHzR1xw#nNs#5kCm_;K2`tsqQe-1aUCIs7foG}bUqd74qmBfkPU;Do zKqR6Hu}$I70&{9U7?IH@x07$~*-J~d?f|*Ltz+~JTW>H&)MuC{ppGKm=1Nj#)VS8| zaHgmji6R!W@p+GjcuLKYdIH9uL@i-LH?fkTK0WF#0jZUmB=n<$3Z8*m=nW1$ID_4d z>G>adltwn*2%BD2irLp&MEn+DK>Fj-fY_`AAzy zI&+_1J{MHh6W$yn|{h; z(w2s*!BaVD_52X;VaYN?Gi{x7WWe`eX%`Z`?+Tr2pn3mx07!LT?^_guXL*)o zD@MKRcogSX|Aze%ug{6F1|`}O>ZNlDWG4b}tmWm`Glhh59oT+kyCy>AyCG!qPS zr`uC?&&BfcY+%+WRh!=mu@KNBb zt+dlt(AzQv7qR5ZyHyy(@O8YjL@#ViHK3X;_2D$*-|#+jIN!pgE6r&0Oq&~Mtt9RB z-1nZe1Do#%qdB%`w^BJP?xILv6UE~mRN7**K^$HD&3|L0{Ez(uqO_)Mgv zd>Kh{4iA)8xHQ#v4~kddZLwm2o2a36(&JPlxRP8IZ~t6JLwfTqKs1A&oZ#Gp%&mlC z^1wi^5aE2;&&plf$PZ}~au7`>h%PAWq!})yI|OhsIt-17sx;U)pNL(T|K{}J!Me}d z?$jvq1IzI)<4h_T_tZUGXiZXzGFa+L23&e}_a#2@$?oQE|C?3+&IV>-(@!fCY$+YM ziNgZmD!Sh?-4X&+Ug|NrPdU?YBBtJ*=wZ^b)fu0r<5M`>1!*OP z_)4nF{%i<&+X+&;isG|r#fT7X_5=@X?J=zs+G=SKZs7lQW$&`$bSo3$`nUxwxJm61 z7FVuYDv&lPopdxDxS1BOJKJqBlL>f`x%gU&i0U5-AHT+Z8n29mQwxKhZ@nExCh~m5 zEqCB4GXZ0H%cvKv)l(uPKRx00{%bnQ!djrL^Qr;TqPG`~pkH|lFv+<`pA;Xirn`)@ z-cYQ3(W%3jZxA&Ecz$uH{Eud~wYU=nKBj4zv(1>`D%SvIwc%~$ZQZt~HfHoN?FIdV zQO3;@3(Bh+zIO+yl5H5@!}jJkp0#Cq7?fV=nOUG;m{6^WKBkFnE<#;8+~|I*$Ep;d z4dai~-w!e?>0V09rHA)cJvD%oRi+hg_zxZa3Al;(?6EY#Xi2*}N27hShwpuDf6rEl zfhj)UZD~s!-OpY^d^Gu0-+Doaj;H3wN10Z?hK|P(nWmsDXOR{Jy_l7Pfj-(Q|5F$o zJ0^@PekrF<3qNz`1M%)1zl@Exz0eKAHqyQp0N*xrlkn|=v%r+LWWXh7miId%)9Xh) zEC7ZNj>erau8bXr*&_gG=|fZn)?h!x()M$+_2^U+yJ<3BtE(YFZL{m-n+{D;wik(` zf78C%1-(8W!Z2_y=-kle0p?6VS&!f<{;@sS0ObLo%zG|1DU8s&hQ~HOP2msMSRIG0 z-G}?v!*_jak-+Vz`+;U2*QU8_c{9_SWb!Yp<=+*!C5Pbnkd;}2X!)A5ASJ;<{tA4m z+fpXj=!%QwY@6uAv40>VOkzk9@GB`r8_{fM(jhbodnwbh#phe_xF{PV!NK<&5Pd5m zyS^DOEkusGl#1@qB2FhAmQ8}jDdsI6e+*H9lvZFQHY%0t-*~F(h^*vTx)0xTzSnUf zvDV5>$=WTy?tOx+Hww3>aM0G?rewSvn<~U1H21GG=Y2#KV7wqnHch~N7oZ=-57@jyJ2lr;DzH`X3{IrxN=avzK8eXN@uak5z9-Trdw48gi z`$OssgTD^>B_@Y9=!XH8?W*Zl3sAY`LSk=sYEcjc zY^{dqOGXT`WlITW0!o3Kac<0`Qw-`E6FlmYpwJTp_SSIqlrjE_*3XzSJ%)H>WrMy3 zxo;7NaH8Sg$SacTP{1#h7OIlr<+9b}pPPZBn}*(V&rCv($>q{#M>HFc^kKWJEba@j z&HD03{+EJ1Po%;=vB5C!>(0H+4Na`}WAlc~F?aNAjRouiQUSu@*G)!JZr>i}Jqti9 z8z{DHt~KfUANkhcWLsA0f0gik`VJ9Eg#^!#Euglnpv&ZQEBf#>EgdR-` z!u_<8cudt9Z%!E3XO_IXwRd(^PP74js^RE&@yc}$y+v7hA_rAcAZ*dgwhd}7w7gQc zOx{V45 zcF!H8DV3zy+1^yiy@qMVOBuT2&|>eldv?JwNb!j`1gqB)K;?FCWQ-6!oU9fqlxS?*+5 zDT}3XXWNXcarH^0qEL421;X=!!|zg+0j=yHUB+UmU1%x@e)?M>e2kHQDDd@{Y=z+T%MO^6E)fuN@s#kvKN1TN;zrd!$r>io1 z(gvq^;Cro>)>#^vE4XT$yEv@T%5#4ccV@S|DPsH9C@Dm3C*G?gG7VCeWxmh$R{8H- zz+VAhntDO>T>TGy&_R5?5mj}NwRRd}vFFIz-D*ZBY`ilr%PTp{wY45hr4wejytCBy8$wi^iE+UhI{kP&rvnwdCG+nm~gA1bwc(ZTz`!kNX|BL&R)AakVg zbg}iQbl@`g!37P5I%E}Sw;8O!DR2~m>+4PuOC4cwK&*a{1eZcrj=x@Sh>U-|7yfj$nWDd_(5E=^ zmulz)7soSk82;PzzoBu^zUzohD+%R8?5)8HgD81`;Y^ES;~Y4(?O%gZ;JsZJ)mLKM z1A%@D0hXGQL1hgG$xV;tm)@XDIgiFSVayx1r7zjmC9XjWKGYtY&m8Z_#5HNAUwJj%g?Q?8uqp$ z6=MU3##iUD)y(m-Php4yDiK)!T8On5movIXM;8@5Nd$ z3UvjjelxMWsh&3 zXMf0Pn45ZDD%F^;FH_;Hit@1<4dkDX9fYU7!J8RZn{ZjLnx_Jq>hCaalDp3?4?;Pl z@V-A0NjtP1@O;=8YdXJM-P$RWb$VxFiH%O#?BZdg>OwyJTXVy3ZB|`!?^m!x@pEEL z;uJY;uh8VlGV06_4yg*mw6rkW3XA2;Sl53EqX~p-cVEg|to^cvADJYjxcY3J80=L0 zDw-3e)V`vL%{Uk6rjGA75(?~idhqy#>ULK&wG3}$sDVH8()^dK6q5-5c(SK^``8-a zt2Y{z7?Zau-P9t13d~ff2Mv1`j`nf$?d+|7%(=_9X$cUsSZe=SJLsY0hZX$&>HKr{ z^^-%{TwL7uqQhT)_?+w4U90#|tEbFY@i71Dw$N5I%sOK0_ZJq6 z($GTp`Y&FvqB>KuLS5Y}hD@35j)*7!#~a&=&-2Bj&N?@qVhW?Vhct38l( zl#zu^dAIS zdq0E!bs9a6aKY!bvzfp8SA9Ttj*X{mxY&5XHes)95lyO<78 zSgcU5L)Xiejyn@D&!IusttJAoZjw7ba-R-1zv&Dg@*Io^;6mSb=E*{D75+vVUFHP5AFV$c zIGvz5oeU+;TPgCr9wUnDU~x&5z-F$>>p=xwL-lAiz_O!4INjwwAR3C2sTuc$2C`0( z9+Cw{J|&*=uQEU>c2Jff&(w4FcY)Sja=p(t9%oWh9{a(I4R&DtiBr!1GD|*Sj>+Qz z27hcq=u-Uv2X>ayc330i>K=AGyixp8<+%V0hH=1D<*=gTg{=jnUKp+!$6-AdVSDv zUdka{D*!ETnCw@RLU4wY%*6VocOkt=Pv-WdbGsivD({|#pX)VgwI*Mi3oa&?ND z4Qqs-6{e}{q&JeG>&;BHAY*29 z2zYmpHeQ9F@66>n8+}|zjaRg59{`HUU`2LBD2$Qda`KhEy4A;pIHQ7BC`FkjV9z#1 z;Z@+Lf;%HPF$+QoJC6P5>JewxI$ns)c)2?1!3M1uHXF;(AUmqwn!zPh^NTMjn9uUL z80=t*FVDDl{=}~u{ktq{BOOfw~SKl1nDf;tyD9WYjG7b{r^^eIO zgzIG890g;w3yTf)0Dd&28B+Oq^{QC^G@4ice)LI%<|ArVcoZw zWkIf6-eCuSxc>#XeK9RPp1GZ|>aOP`XdLl*bZm3jGX6`JFwU#jQ1sgv`98 zzfI9wLx(uf)m{wXMyq=*(Mvnp)n@WywXMiUca{##;1!BJ=}){~(d`xyFqVu#YK=7B zpD(3-q_T27uaSU(k*@}ak6k6#QUU)8&n?RKwrLNtv~^v%NCxfMv?Kh7$&M63101k~ zn7yhx+kvJRr=DXXxD~4^PTC+lR()&>{Is5_rd~TA1>oN$z{j6*{41Mh`XE)L|1@<% z>;3-1Jo9vzqdk(DOMDbiDt&H|Z;V6)17*=ErgJcpq5$Sw#PJxE1=c0yp86KM5t6R9x41e@0973#5;LQZ(1#Shn&(` zuVgS43#7L0Z4Y)?ydd_UW50aDW2xuHAePl5XKxa;tEW|9>Jn&_mV7*gb>L~{m?6^w$R}3@kA<@*Z40W2i(H#?K$k`9v=7EJUE?;fO z{zbHtAvHHz%d{=lT6Oy++gH@ob7YE(IyI%zns(*()W3yI?<$P(6W%c(H7nBMP!kAk z;Bas`o}S`5oNN9vhmbQ3M6a!0`NEI6yd^iF~@8p6D{vA!}ZtGlYID3Vut#!~ztO94;N@(SD zvchZ)L!~~SpOmN`Ol_VYmf__?%jos(>FVoA_ndPI22#=L*F`8Ygw41*+p^5aMuJY z!O^Kdht?}1tk!85Aep%vnv}lpDeeIblTAAN4WH3W!)V#uLX#GMeTu6PL>r#t33U{D z|4K|f*=eQw`~C%*c7~TVS23$Ry7bIG_;wY26qbrOX_#*Qs}(-X|s*6!!w163ok*C*rdTG5NmBho6Bi ziuxcsfN-ya0%-zFEPgp^E#cZdH67E*MMC1(Z&QAT?foKl5~Fnobyz!RDuXMzsivDh z6cM70eBohKT#eDXqmzldvlDcKgv&ESJ55P8DxNfA;(>-MiKCyrhzaTEFC4V9z*>7M zr%n)iU8U?ExF;_!5eN941RCtEBNg@xjsCOud}8>2&A3O8P~`R@Rx1M8*J+;+Uz_as zPHh?7DN9v}<}a>aj828&np1vIIW*1zl#RZJo>bgS(bxRSynU~W%Xw=kSkp0*kA2HH zzLT0n!*K&4YJ=@dJ{Vx5gXr6aJ~u!o$xu8HGUp{`;c4<@|_Z0mAm$; zw{;q-2DU-dz?gw4_Oa$qo&QJ&ib#%`sUttMmhGRSfgYqllE7uE1T~7c zVyO^M^!9`CrTb=XhwXcf)e}u~<#pkNGNNkgnyBU#oTXx}Jx|Kr=81>Tq5{#Rlxh@p zUqdoau@)}U-S-N^uI1pTQVH}%ZVJ#{>*aQ8{j0ZdeAr3|~&usg|BMuz&uePvmzf}MD zU!x+_?GQ0+#O2S-%g+JR8m9Pj*rPM9kl$HHDnq8zsF%3{={X%-u}WY2juy$xO3|N( z75uMHMwJUKL;la$0W^LUJtM%Br9ZL6U`96B&R*jAOw#ot{jv43Jx)VJZcHxorXZAZ ztWmvX1w1vmBkBDKduQZRIkPx*<*p@NX+xp09NOvt+>}j;s_%1xFS}=KaRy#fIb+E|~}JiH;!qI@AS%55Vow5$J_p>#jQEYKir`25K*i z(t^$RuNO#tobtQZXb{5FN{^n})yF6hXu4IlVxmdCg#K+K0S`1L@9P!cRKgOJ>t+M1 zR<3ldR+L<_;I8DQNc){I<^c-Pag&*F@QOUl|GnAt$~&PO`2S7n98m%uQOE3kDi|RQFac5 zC|AH()*JuWMlH`(M=CWcy;FTG`h7Wfgvb4&e+W(fZ+hJlU-fECR}qyzc{d~;z^oGK z_@GZ#VTf?&l5s#r^vA8qFz`c+b{@CozE!D<(o;Kdi~rY3QR*JQ&) z&h?VfCaUQ`Y%cIlU=IZY0aK;d?GXtfZaPzDQupZl*LR3bj$aA|Mp7``GIF!yDd6Y! zri2s6buy%L6FX~-3-5H|OQS_+$7OhfzkDgK6Hz0Iab8ZuCmg=^yNU#IQ82JEc{tsE z#w}$B-PQWoSL6sLFMo}Govw~gtm7M2i(cGyQ9WBtm@Fe*j4hdonU<5T#1|V-(CL1l zIw5kkVI-c;u8{l2R4#=%`V!Va~^}QRyrJ`T-iz&8x@n zAn|C%Q#2(BYxHzvM8V?`K=h?8X^c+P8R7~uWUCojNTeoYH1S#uX=fKRU2w@s8q-iz z6f4I7CO++;Afb<*R_+O^mQcw980B3qk;FiYpp)iVILRGerihe;b{+wmIR zPVCkzxzJjuCkyN#B^p%S*71Inzka2vXF@N?AbPTqkD4l$s#Yx$H@f^2Y{PV9=u~Bz zZO&`N#dKwV3-&`Yk8&Zc^F2}Y%c9k(x2a&lzy%T_eYMeQH6$(KyK`NsRGwk44ofvPP)Tsw@I14-?iy0WW zg+Z8+Vb&Z8paRDLpAc7|Z0p~2ur0CRVz(B6dIyi!*Mu1Fg_*1Ge7=Op`z85K$s=Ii*K&$zTy zEcG*A2g@hc_ZF20?jC;e<9hK*asSIv>!S}TKdtAFXPO@7lmFa4t<){Dytbc#fmy-R z#WAE}&fD*{9*Z0?acoocC zvU*#q{fzdv3v~IcryT0%is0ojdw%{1`{&+oj=$kc3QVQx(4d1mur>ftcKi##fF z-7f>eOxWi)9!nOonk-j1@0!gm9uv9gwNJE%321 z_E}v*>n#HlKlijI)p^_2aOz74DK$;fzMnpCjZ;9V;6Zlbc^f}J+4p{O_K%6@RDkvL#=5v}5lUiwO8x2g$Mp0Rceq*XW7L~2uJ-y7 z(>1S%#hgE%e=bgI*Ul-un?3ob)S>5_!xIJTes;CySWY>+@q(G~t(@i>;kR{b1#`Yj zo65}pb&s|0(_^pUHx3vIVCg!0DC + + + + + + 发现新版本 + + + + + + + + {{ updateParams.title }} + V{{ updateParams.versionName }} 更新内容 + + + + + + + + + + {{ progress }}% + + + + + + + {{ downloadText }} + + + + + + + + + + + + + \ No newline at end of file diff --git a/uni_modules/guyue-updater/readme.md b/uni_modules/guyue-updater/readme.md new file mode 100644 index 0000000..ccb2b01 --- /dev/null +++ b/uni_modules/guyue-updater/readme.md @@ -0,0 +1,65 @@ +# App热更新 + +App热更新模块,支持apk安装以及wgt升级,支持显示弹窗升级、静默更新以及强制更新,支持进度显示,支持覆盖原生tabbar、原生导航栏。 +可用于自建热更新渠道,不依赖于云服务,无云服务费用支出,也可以适配官方更新中心。 + +## 使用说明 +### 1.将此项目导入自己的项目工程 +### 2.在page.json中注册页面,如下 + ```javascript + { + "path": "uni_modules/guyue-updater/pages/updater", + "style": { + "navigationStyle": "custom", + "backgroundColor": "transparent", + "disableScroll": true, + "app-plus": { + "backgroundColorTop": "transparent", + "background": "transparent", + "scrollIndicator": false, + "titleNView": false, + "popGesture": "none", + "bounce": "none", + "animationType": "fade-in", + "animationDuration": 200 + } + } + } + ``` +### 3.将版本检测函数导入需要使用的页面 + 一般在App.vue中的onLaunch导入或者首页导入,需要自行完成热更新检查,一般在APP启动时发起一个请求获取热更新数据,数据获取后,可以调用该组件完成更新。 + ```javascript + import Updater from '@/uni_modules/guyue-updater/index'; + + // 仅在app平台有效,其他平台调用无效 + Updater.update({ + title: '发现新版本', + content: '1. 我们更新了新的UI设计\n2. 我们更新了新的UI设计\n3. 我们更新了新的UI设计\n4. 我们更新了新的UI设计\n', + versionName: '1.3.6', + downUrl: 'https://cdn.xxx.cn/mp/__UNI__1F29D65.wgt', + force: false, + }) + ``` +## 参数说明 +```javascript +export type UpdateParams = { + content: string; // 必填,更新内容,内容中使用 \n 进行换行 + downUrl: string; // 必填,wgt热更新请给出 .wgt 的文件地址,APK整包更新请设置下载apk地址,ios请设置苹果商店的连接地址; + title?: string; // 用于显示弹窗标题,默认 发现新版本 + versionName?: string; // 版本名,用于显示更新版本,如 1.0.0 + quiet?: boolean; // 是否是静默更新,开启后,不会有弹窗,会在后台下载更新文件,在下次启动APP时使用更新 + force?: boolean; // 是否是强制更新,开启后,弹窗无法被关闭,必须更新 + updateBtnText?: string; // 升级按钮文字,默认 立即升级 + downMsgTip?: string; // 仅android,默认 下载中,请稍后 + downSucTip?: string; // 仅android,默认 下载完成,安装中 + downErrorTip?: string; // 仅android,默认 下载失败,请重试 +} +``` + +## Android如何跳转到应用市场更新 + +downUrl 设置为应用市场的地址即可,如: market://details?id={这里写你的应用包名} + +## iOS 如何跳转到AppStore + +downUrl 设置为AppStore的地址即可,如: itms-apps://itunes.apple.com/cn/app/hello-uni-app/id1417078253 \ No newline at end of file diff --git a/uni_modules/guyue-updater/updater.js b/uni_modules/guyue-updater/updater.js new file mode 100644 index 0000000..fbdf8b6 --- /dev/null +++ b/uni_modules/guyue-updater/updater.js @@ -0,0 +1,31 @@ + +export const download = ({ url, onProgress, onSuccess, onFail }) => { + const task = uni.downloadFile({ + url, + success(res) { + if (res.statusCode === 200) { + onSuccess && onSuccess(res.tempFilePath); + } + }, + fail() { + onFail && onFail(); + } + }); + task.onProgressUpdate(res => { + onProgress && onProgress(res.progress); + }); +}; + +export const install = (filePath, restart = false, version='') => { + plus.runtime.install(filePath, { + force: true + }, () => { + console.log('install success...'); + if (restart) { + uni.setStorageSync('wgt_version', version); + plus.runtime.restart(); + } + }, (e) => { + console.error('install fail...', e); + }); +}; \ No newline at end of file