From 24c3023046989834fcadab2466cd57da7c4ae6f3 Mon Sep 17 00:00:00 2001 From: yangtao Date: Sun, 7 Apr 2024 19:27:07 +0800 Subject: [PATCH] 1 --- api/api.js | 4 + components/pay/index.vue | 308 ++++++++++++++++++++++++++++ pages.json | 6 + pages/order_pay_status/index.vue | 2 +- pages/users/order_confirm/index.vue | 57 +++-- pages/users/user_info/index.vue | 32 +++ pages/users/user_integral/index.vue | 4 +- pages/users/user_pay_pwd/index.vue | 232 +++++++++++++++++++++ static/iconfont/iconfont.css | 9 + static/iconfont/iconfont.js | 2 +- static/iconfont/iconfont.json | 14 ++ static/iconfont/iconfont.ttf | Bin 2720 -> 3176 bytes static/iconfont/iconfont.woff | Bin 1856 -> 2112 bytes static/iconfont/iconfont.woff2 | Bin 1400 -> 1664 bytes 14 files changed, 654 insertions(+), 16 deletions(-) create mode 100644 components/pay/index.vue create mode 100644 pages/users/user_pay_pwd/index.vue diff --git a/api/api.js b/api/api.js index 9207bb4..3b040b8 100644 --- a/api/api.js +++ b/api/api.js @@ -160,6 +160,10 @@ export function modifyPhone(data){ export function modifyPassword(data){ return request.post('user/change/password',data); } +/** 修改支付密码 */ +export function modifyPayPassword(data){ + return request.post('user/change/pay_password',data); +} /** 退出登錄 */ export function logout(){ return request.get('logout'); diff --git a/components/pay/index.vue b/components/pay/index.vue new file mode 100644 index 0000000..971add4 --- /dev/null +++ b/components/pay/index.vue @@ -0,0 +1,308 @@ + + + + + \ No newline at end of file diff --git a/pages.json b/pages.json index 763c747..31d1551 100644 --- a/pages.json +++ b/pages.json @@ -352,6 +352,12 @@ "navigationBarTitleText": "修改密码" } }, + { + "path": "user_pay_pwd/index", + "style": { + "navigationBarTitleText": "修改支付密码" + } + }, { "path": "user_payment/index", "style": { diff --git a/pages/order_pay_status/index.vue b/pages/order_pay_status/index.vue index 06372c8..7f37e20 100644 --- a/pages/order_pay_status/index.vue +++ b/pages/order_pay_status/index.vue @@ -145,7 +145,7 @@ refreshData(){ this.timer = setInterval(()=>{ this.getOrderPayInfo(); - },1000) + },5000) }, // 优惠券展开 bindMore(){ diff --git a/pages/users/order_confirm/index.vue b/pages/users/order_confirm/index.vue index 7bfecff..1694b7c 100644 --- a/pages/users/order_confirm/index.vue +++ b/pages/users/order_confirm/index.vue @@ -450,6 +450,7 @@ + @@ -495,6 +496,7 @@ import dayjs from "@/plugin/dayjs/dayjs.min.js"; import areaWindow from '@/components/areaWindow'; import timeranges from '@/components/timeranges'; + import pay from '@/components/pay/index.vue'; export default { components: { couponListWindow, @@ -505,7 +507,8 @@ discountDetails, "jyf-parser": parser, areaWindow, - timeranges + timeranges, + pay }, filters: { filterDay(val) { @@ -671,6 +674,8 @@ addressInfoArea: [], timeranges: [], isShow:false, + payShow:false, + payInfo:{}, }; }, computed: { @@ -746,6 +751,12 @@ that.invoice.invoice = false }, methods: { + pay(val){ + let data1=this.payInfo; + data1.password=val.password; + console.log('val.password: ',val.password); + this.payment(data1); + }, /*预售协议*/ getPresellAgree: function() { this.showProtocol = true @@ -1245,6 +1256,9 @@ }, payment: function(data) { let that = this; + if(!data.password){ + data.balance_vert=1; + } createOrder(data).then(res => { let status = res.data.status, orderId = res.data.result.order_id, @@ -1252,7 +1266,9 @@ jsConfig = res.data.result.config, goPages = '/pages/order_pay_status/index?order_id=' + orderId + '&msg=' + res.message; that.orderPay = true; + uni.hideLoading(); + console.log('status: ',status); switch (status) { case 'ORDER_EXIST': case 'EXTEND_ORDER': @@ -1285,6 +1301,19 @@ // #ifndef MP case "wechat": case "weixin": + case "no_pay_password": + uni.showModal({ + title: res.message, + content: res.msg, + confirmText: '绑定', + success(res) { + if (res.confirm) { + uni.navigateTo({ + url:'/pages/users/user_info/index' + }) + } + } + }); case "weixinApp": jsConfig.timeStamp = jsConfig.timestamp; // #ifndef APP-PLUS @@ -1384,6 +1413,7 @@ break; // #endif case "balance": + //余额 return that.$util.Tips({ title: res.message @@ -1641,18 +1671,21 @@ .Tips({ title: '余额不足!' }); - uni.showLoading({ - title: '订单支付中', - mask: true - }); - // #ifdef MP - openPaySubscribe().then(() => { + + + uni.showLoading({ + title: '订单支付中', + mask: true + }); + // #ifdef MP + openPaySubscribe().then(() => { + that.payment(data); + }); + // #endif + // #ifndef MP that.payment(data); - }); - // #endif - // #ifndef MP - that.payment(data); - // #endif + // #endif + }, // 打开配送方式弹窗 openShowBox(item, index) { diff --git a/pages/users/user_info/index.vue b/pages/users/user_info/index.vue index 19da14e..9746b1b 100644 --- a/pages/users/user_info/index.vue +++ b/pages/users/user_info/index.vue @@ -60,6 +60,15 @@ + + 实名认证 + + 点击实名认证 + + + + + ID号 @@ -84,6 +93,13 @@ + + 支付密码 + + 修改支付密码 + + + 地址管理 @@ -321,6 +337,22 @@ }); } }, + /** + *修改支付密码 + */ + changePlayPwd(){ + let that = this; + + if(that.userInfo.phone){ + uni.navigateTo({ + url: `/pages/users/user_pay_pwd/index` + }) + }else{ + that.$util.Tips({ + title: '请先绑定手机号' + }); + } + }, //注销账号 changeCancel(){ uni.navigateTo({ diff --git a/pages/users/user_integral/index.vue b/pages/users/user_integral/index.vue index d264d49..b12d8c1 100644 --- a/pages/users/user_integral/index.vue +++ b/pages/users/user_integral/index.vue @@ -68,13 +68,13 @@ 赚积分 - + diff --git a/pages/users/user_pay_pwd/index.vue b/pages/users/user_pay_pwd/index.vue new file mode 100644 index 0000000..0d94722 --- /dev/null +++ b/pages/users/user_pay_pwd/index.vue @@ -0,0 +1,232 @@ + + + + + diff --git a/static/iconfont/iconfont.css b/static/iconfont/iconfont.css index 5695ab1..498f205 100644 --- a/static/iconfont/iconfont.css +++ b/static/iconfont/iconfont.css @@ -27,6 +27,14 @@ -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; } +.haiyue-guanbi2:before { + content: "\e908"; +} + +.haiyue-guanbi:before { + content: "\e907"; +} + .haiyue-zhuyi:before { content: "\e904"; } @@ -43,6 +51,7 @@ content: "\e901"; } + .icon-huodong-renshu:before { content: "\e869"; } diff --git a/static/iconfont/iconfont.js b/static/iconfont/iconfont.js index d9d3189..5a3d659 100644 --- a/static/iconfont/iconfont.js +++ b/static/iconfont/iconfont.js @@ -1 +1 @@ -window._iconfont_svg_string_4480899='',function(a){var t=(t=document.getElementsByTagName("script"))[t.length-1],e=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var n,i,o,l,d,s=function(t,e){e.parentNode.insertBefore(t,e)};if(e&&!a.__iconfont__svg__cssinject__){a.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}n=function(){var t,e=document.createElement("div");e.innerHTML=a._iconfont_svg_string_4480899,(e=e.getElementsByTagName("svg")[0])&&(e.setAttribute("aria-hidden","true"),e.style.position="absolute",e.style.width=0,e.style.height=0,e.style.overflow="hidden",e=e,(t=document.body).firstChild?s(e,t.firstChild):t.appendChild(e))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(n,0):(i=function(){document.removeEventListener("DOMContentLoaded",i,!1),n()},document.addEventListener("DOMContentLoaded",i,!1)):document.attachEvent&&(o=n,l=a.document,d=!1,h(),l.onreadystatechange=function(){"complete"==l.readyState&&(l.onreadystatechange=null,c())})}function c(){d||(d=!0,o())}function h(){try{l.documentElement.doScroll("left")}catch(t){return void setTimeout(h,50)}c()}}(window); \ No newline at end of file +window._iconfont_svg_string_4480899='',function(e){var t=(t=document.getElementsByTagName("script"))[t.length-1],a=t.getAttribute("data-injectcss"),t=t.getAttribute("data-disable-injectsvg");if(!t){var i,n,o,l,d,h=function(t,a){a.parentNode.insertBefore(t,a)};if(a&&!e.__iconfont__svg__cssinject__){e.__iconfont__svg__cssinject__=!0;try{document.write("")}catch(t){console&&console.log(t)}}i=function(){var t,a=document.createElement("div");a.innerHTML=e._iconfont_svg_string_4480899,(a=a.getElementsByTagName("svg")[0])&&(a.setAttribute("aria-hidden","true"),a.style.position="absolute",a.style.width=0,a.style.height=0,a.style.overflow="hidden",a=a,(t=document.body).firstChild?h(a,t.firstChild):t.appendChild(a))},document.addEventListener?~["complete","loaded","interactive"].indexOf(document.readyState)?setTimeout(i,0):(n=function(){document.removeEventListener("DOMContentLoaded",n,!1),i()},document.addEventListener("DOMContentLoaded",n,!1)):document.attachEvent&&(o=i,l=e.document,d=!1,c(),l.onreadystatechange=function(){"complete"==l.readyState&&(l.onreadystatechange=null,s())})}function s(){d||(d=!0,o())}function c(){try{l.documentElement.doScroll("left")}catch(t){return void setTimeout(c,50)}s()}}(window); \ No newline at end of file diff --git a/static/iconfont/iconfont.json b/static/iconfont/iconfont.json index 95d67dc..fb6dd82 100644 --- a/static/iconfont/iconfont.json +++ b/static/iconfont/iconfont.json @@ -5,6 +5,20 @@ "css_prefix_text": "haiyue", "description": "", "glyphs": [ + { + "icon_id": "39835854", + "name": "关闭", + "font_class": "-guanbi2", + "unicode": "e908", + "unicode_decimal": 59656 + }, + { + "icon_id": "39835567", + "name": "关闭", + "font_class": "-guanbi", + "unicode": "e907", + "unicode_decimal": 59655 + }, { "icon_id": "39769738", "name": "注意", diff --git a/static/iconfont/iconfont.ttf b/static/iconfont/iconfont.ttf index 1ad66fe56a4559c21b7ccdcf0348b6909991987b..45f12dc092b5168914f9284b2a4baaa862cbbed5 100644 GIT binary patch delta 859 zcmY*WOH31C5T4ohzdoP^T3AsiU<*W}Hno*U;AAw0#CS0t8q11MAe0it1fyhoG9C;e z_TtHCVhS2d&Z5kQ_D>^IN0JnJ|~+|OjuK}zU;`7z;# zWKDyq@rhmS&N}ser?_?`-Diq7WQF>lQ(T@hC&thZSE*i2as8;7>VIRU?u-Di3@x?B z(&xu-CSFYfY^6H%15#_o$v|8=M!sTo|rtw5}8oN=;E?~XJS4rSF*&o<=c%Zbf7ep8BA+J;K07wv_ z0Sb8p!Io^zaR6+zRqp8_)%X<($a6hH6&L8+`m zRjKrayV36pMD%&a zajI<%KH^UFhIQR#u={ytRB(2ML0^3b3FV?JsToOCEgU4hfJGVG1+HQjZc-s;ABo2P zP%spX#Ggr4mFK+^bM(wmSS^9!MT0{_ zb8ZnqLqbakH3mgfAF3e;8iL<>;?jGZ|L!^Wo_pW>Z?R6aJ>Fb?1mp-nF7MdYRO90s zFi7QOqr9{JnR1Q+^BhpgQqe9-$Qy z@^4uKg=*)p@wGNK_l;3CD0rQ|$?8C#v^JHP`=ld-x9NoLWTD~4r6O?KGB3*QOWggD z#B63bX9eaUn&KIvB?E;deTtiYPwB^cqQB%E+|3zLSy~{~i-M=i^e7$kw`#B%ydm^; gJe?zkLxD|PNWqA7SFO81*b+lbQDR8|?qWFc2Q+M3uK)l5 diff --git a/static/iconfont/iconfont.woff b/static/iconfont/iconfont.woff index b4791cfbf05605abe71df57733470bad98b05e09..73c6f0748e7dc26ea56524e07ee76b78eae3607e 100644 GIT binary patch delta 1635 zcmV-p2Aui84!{r;cTYw}00961000O;01E&B000bVkrY0EOete+VQ>Hd0f+zq0BQgL z0lvQB*7|2`d1e3r0rUU>1Q7rL1*q+BUJz(yVPpUR1_%HE05Jdn05&PdJ633DWnlmS z20Q=&03HAU03-?*1;1!*ba(&&23!CD02crN0304V|NU%lV_^UQ26O-b01yBG01yM1 z1qN+lcyItW00x8r0018V001BX7XXNEVQpmq00yK000B(^00Mv0ZKP~)Z*z1200;B{ z002w?003p4U(0=y2mwI?31pK?0VaRsU~c%|z`($KhoKQD%!s0h2>^kD48eGu?UBn7 zfFKM+UjUJDD8-}2c=TlNsY3Iy40q-cvRN(!Sb%EmMgzGKT$i~Leq{^4aaiB23Pqca z=K&R6y_&>kGZKqsD#hPR=huw${JQSHmc+dzz6q^~Z$dwOJGv%#b|lCPp89_kY5)Lu zoOM%8Xxv5=o;M?n{&uC6R;yiU<#naaO19%V$$EbrZ@j6~8bb->hdQPZ6I@dqyQk97 z#15hE#Z4~07o0#TID|SalpIoW?5*_BOCd2%pr=xbp}i!B*z3;hIyDIxA%CrgN;B$Z*#bA#o7{gE4=`^M#!(zq z>a}{UoOQB}Em4W$-xW_;yQ{b+C~Ip9m~NX{G9%9}U%I#w_w>Xo7cc#`4=-PzpFPoR zo|v6~{tDnT%B$$RYn^D>a=FQa;Wy(uaJ#_+U(9t*n0vvGVyPlwFV`L{A%Eaw!qoWI}_wHOh)fk$dxnlc% zkMG-^g)AK)ePZ<5oqMYb@4%_6wDBjvRE32wZ z#NU1fSc zK?&rd_s|Du27ShL)#}ws#A=+VcN%qk_#UG^fc6>bePv+n}cFL3Fj?C z1u%#y6WuZlj16P6wQMJ4S+rDG+yie|l6GrZHUvfCmIXVhC?XI7$Ndz53wy1?Q0lFdP9M>=K~ zU@&0QQf*&d{*ba`)5DOlX&8+_F^np;22}UfIBN0%8e|17U}~`cb({w?@cBPp-pLqA zRiLIF7hHeCwKc29NtE@Rd(276nv)Bl*xLE%baUV>M-vW>MEGH`8G(>wWf^FU4<}4B zal_1|zG{OT{CnYoL>*U}7v=@S)MXGR&v!QQl4l=syS*+wqb9H_8cBim#iJ^rg=|0A zxub>NqmyHclXI0~G}hNQ7G=ikAD@{W9&4R7bLM|Je#$upBKCf(c{Y?jPzKrROZ z6G#*QMZpZZ0001ZoMT{QU|??e-@p*VX7L{g*en@E>zs|Ha30000007?MB0V)A<0we;|c${NkWME)mXQ*LdV*mjrAm#!> z28RD&J_7(1tpT93uLWEIL7kC_k(rT&k(H5+k)4r)fkQXFG%+tJ(}*3)VAHM2D6P!o h&@IeN%>at9>SpGp<#Xv4XXKY=1NrF;3;@r45j$~E%MJhl delta 1377 zcmXX`e>l^59RJMx7^YDh=f}g47`sEWp*ks%NG`?c^7Fa;OzpnvKF{-dUZ2_ie_>mpr8yYP60qoIKa8V=ElUvL2W}3-~oZ!@lt0!7XjO&#$@FB z!L|v*nb9j_ZEbCd7b*x{LWIr-Uc0#BZzWwm}hzOM_Lxe41Vl$51)(PCAizv6gxk@n(B}`v2$cO7~Sh_ za8>i&!pQ1R{0Fy}=2tUQuPy(jOpP>Mme1i)^Gro&YbFah6zo!ZPFhfauk%J&;tg|> z^6k5Q<}y_8kSSrHl!|2wHOJHP@=xcx-F{RCYmGI|SXWaF3|G>JozfRwylpK)a&DdA2J?mhIw!i~FjmcJW7R;DhTo126xIRpbr9fqfmk3@|gZ)e^n`XJd+f2wp(3W_$27L5&d14ck9%B zTHIE{TMb^f!6lJ$l07@bhRVv<=QmJ`C2 z`04@s=Hl?fxQ;7-NEXZ+T_`tAWCG1s0eI4@0qL*rD;wJJbl$>~@}`cxIB9fquZlr@ z8S+-+1v7+>hY4R$Qe+2fyM&pUfyVC*bJdO&+2W{OgAU2IuPYH*^>DW=FX0feYf!zS zo@E`(f8hAAU`gL+PD1~1X9 zXS0)k3*(hOy1Lf0b<4Xy%{S&hTPYsl-YS&SjFK}KCC0;w#6{mh&+7U$FP!OASb>rB z+Q#^>7~u>C7}ppjmW{7+TDEf=os!$EKczZ5t*KP1Mf}C59MA8x;9K^i0Sk+~_hsb1 zyxACa{r1Q67KkI?7$;lVC1c2-T%maq+EP$R9ojWt`KyL308W4gShyPc|DuctDU-nh zux;2$wY{3>RSXX}!0=$DjS@{7jF>M@7Z-`oiSxymQYdnJ$#2_pz2r^=qQu4da*!** Z@!K*#xtn#Xi)puiBm;mK1lb@0;gPax46nOVGN za=_q-xGc*?Rg>@)st#F5{J*vK?=Y{Vk43d6p0wGp`$uedXJ@bunMkHxs3cmw*U2|L zyWZDl2iEz6-8W}{RufcXtIY>b=Vqz_0<7RSK!AbSt2MQEnf&;Kh1r0PaIuPDKR{dn zaGk2U3PUUmFz5xyKercK)(ihdjqhw z0xY0`!Xxv`>U?xwS7|NGF?6hPH;j>n26aAlufH*jY zgBh=J@I#coW)<96uo`X*jIhyXJ#5g}0LFWSK0P85NQArupmqSaSLRkN&SFqF%%fvt zaiO7+(%e!*PO8#7;$EB{{I$6bp;uWOBtIr6O<>72-6V2s6ji zYO<4+o;1Pt25oBWrLHV~{koJ=#ElzLuG6hsQkuMZGd!6kQ#akI6yp3-@gBG>)eMW z4XDaKp!W5BW!!(oj=X50-p=#ud7ECLXZQ_&JkRKrdRvbwwY-7d0Is)T>dro&-^Wk@ zX7VOJ28MJCbmav)g>JIXx0n7w<=~#iZrI|*ST|$O%TklAe(~aNSWn~Sk-cK(oR~JG zc3^e&z}g|dY9(q1Ru8HD*&~CwY63x0B(=%6;t5y1Nt5ciL-m}KCp+r~fxG_1iS=E7 z#Q3Vd<-L2C_pKUt2i=D@RhW^6kh=xI)Ye&2k$s?i&3)Oda5wwy+k~vKtr70aEZ7V? zVyj~vaLH&sMLH|o(thVoBN@&#mNi+z_ zfO;tHqr11ti6+`1@u90w&VNgqlp8*Ox@HH(YY(K0d~b{yCuNs-kLZy1Z|~ioT5xgJ z=w^mxQwwvCV4E45)lA!Q6um z3#yG*7Cv86vrd!IX}j*ml-bcee&#gB1$xbZQ}QGGwj^sCYemP7*rx|a#PnorH#h(tF5C(+mFLRvhZu|v)sk)7erp{n!eU3@uR!kedr;--ExPG zS8iXovG2?IhJ$b&@Sm3{SJ_4Bl3Av){w)CgOpD>ai_u}VOZ0=T&)?owJSuE9F*mmN z4~zbeg^xAA!vm^sf?Kc=z* zLPZk(BN^-M_MCAa+FBu$xEd6m4A6v%Kl)ILYgV&yn;Tn&Z8ZsU4nZGrot(3Hi6^%%>Yl9JW2 zb1y6v4)z6viAWADdP`L|WC|W{97&7{lL__9mx!=tx0oGb2cu}Ioh!rPZ0)irun150$zF4z&{#~Xw)jwY;VrAxg=G8rJJUCy=BAIqX002ij BC~E)! delta 1389 zcmV-z1(N!J4fqNecTYw#00961000Ge01E&B000W0000Flkr*C-8VZOghIRoq0weyQOVLS@BQ-Edg--y{7Lc9b?}!n*w09Hw#!MfaNMk=}qXY z0pV$cXLFtKLZO*|PXPhIqXO!IYSOHY2gZ^8CXR*^4A?jUVkH?lY)C)ohDI{=ZLHywzBugEKgRssq@--Um7J=mH8zyhEF zlsPdo>E7=2fcEk-R>{{n8HA_x3<&Uw2?R8O2v3_EU_gU^`saagU`jp64N?s7ib!Ep zQP6{i7z&hC48*rz$?79`0A_#;1jt4(ZSh^MMS%n35Df;KO|D(qY%;qGR3|f3&(*5} zSG?D*;aZm)H*ml2`gPk>^?FM8-$2*wP&^$j(OX>!N?E0?A+&#W*QG0g3?lD1LtBxa zX7wehQk?{U#o{%p34oF)Of#!XQ&KJ7M9o$|*>ClkwB!}zNmH~nt~Hk0y3&r6ReCx^ zSv7`7#>Fb?_SIP~G9WEI<5DTX&ZSxsm)SyA*pgjAY1X8k`sGUJO3pSImRS<*2}^x_ zWFuH~QUZ)>Qk#H2HdR_WLeNUDDWC3g`K@X4a(;P#@r2?_rKPHzblSRHJ|3O|q&n7> z+}BU9UgZ9soG_wXJ13a53pa@Byk7KbtkLOuS8bKDlINjzQqu_G)z$trf?%)VOG;m{ z%;FWgBquLROiYnH!iswfC`>Cud%Jtck&$u_ckhdWXLx~^o!r}fvF7c#d275G4W>+K zkh!XVLHg9G>GfA4v*F~)4KutGYxS?*w{P|SwI_DId8GF;ol+ZCWJmOD!^aSy8J z-Zjlx-6QqpO|PkGN)z07@uH2ow4mBSX}T(7*Az9*S=~DI)~zNc&*G-0CW{ttsF&5k zS#W2Ic#`TRooci=q*sOAE5x0l8FcFcq*rKv>e!xb%CO!JVu4kcNtwR`yl~mohu7>B z@-mA!=(lcef-$+oThSrDeSPQd^a|(ajBVkHnO@Nvg17W-b6VI7x(XL)jq~E#>AIKI zqm}0P0@Es-SE3D=H0PspRp-Vp&!-ls>j|#yzO>|NRGoZVc$ck?Yt!bky}p+r6IS$p znWZaQp6=h;SGP&oX@z{2q4|{{7i)4#-dXHci6%0sqHlKHF|cU6vV&JOYf^KA9(L$w zbu^)m`i_ehMtN4cmd~3vyj!mY!-wr=#17S7;O1;p^QClZ&*d={K!EK(hat2d0O-xM z9tdQl*obr#eUD!F6W$6j+RV>=Om)70>4dL!p}oJP{7K&UMcT9Fj4z+^EKT$}>H^9T?C^M>O7ZnWYrAx*$Tj6fj>1?)8VIhpW4E(a_G z)Bp}V8Uv5gXnVW>5mP~fFu?$1XbBKV*aQ@eI0iH%T)`Of3t(ZzAK)O75a8i|BPGrz zKqfN)jU9@B4agr*&7%^9!3g?A^h@1Q$6mNX55Dt8=ZQxsv!Wt%!x7!K_VGzqAt+Fe z2e|gGhkeg5Ic~8InF(P!=DDi-l&t1qc5)~JHXwgMHIGW?2P0_ijaZJ~Q4gl~!nF=1 z`Foahp7N`QGAmZXZpv}RfhSf>?~|?qw=0nCjt97IX2+hA3{(APE!H738^ot$PNUSS v%IuQW!;>xg`wV6GWl@AC3}Fce?%%{8?OH+;#kfxQGyl*Vj$PiNXEOi*LQ|Mn