From 40275ecbcc14de7ee32c16aa692fcf7f78ef9a5f Mon Sep 17 00:00:00 2001 From: songjc <969378911@qq.com> Date: Mon, 30 Jun 2025 15:53:57 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0readme?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 10 +- docs/JCS_pub_API.md | 49 ++ .../cos/cos-1.png | Bin 0 -> 136858 bytes .../cos/cos-10.png | Bin 0 -> 125736 bytes .../cos/cos-11.png | Bin 0 -> 58416 bytes .../cos/cos-12.png | Bin 0 -> 35198 bytes .../cos/cos-13.png | Bin 0 -> 24330 bytes .../cos/cos-14.png | Bin 0 -> 50942 bytes .../cos/cos-15.png | Bin 0 -> 61960 bytes .../cos/cos-16.png | Bin 0 -> 45558 bytes .../cos/cos-17.png | Bin 0 -> 28534 bytes .../cos/cos-18.png | Bin 0 -> 11676 bytes .../cos/cos-19.png | Bin 0 -> 106548 bytes .../cos/cos-2.png | Bin 0 -> 73188 bytes .../cos/cos-20.png | Bin 0 -> 18328 bytes .../cos/cos-3.png | Bin 0 -> 102242 bytes .../cos/cos-4.png | Bin 0 -> 166386 bytes .../cos/cos-5.png | Bin 0 -> 118146 bytes .../cos/cos-6.png | Bin 0 -> 61602 bytes .../cos/cos-7.png | Bin 0 -> 41890 bytes .../cos/cos-8.png | Bin 0 -> 138954 bytes .../cos/cos-9.png | Bin 0 -> 150600 bytes .../obs/obs-1.png | Bin 0 -> 67136 bytes .../obs/obs-10.png | Bin 0 -> 123564 bytes .../obs/obs-11.png | Bin 0 -> 77694 bytes .../obs/obs-12.png | Bin 0 -> 187480 bytes .../obs/obs-13.png | Bin 0 -> 12344 bytes .../obs/obs-14.png | Bin 0 -> 136118 bytes .../obs/obs-15.png | Bin 0 -> 85034 bytes .../obs/obs-16.png | Bin 0 -> 132570 bytes .../obs/obs-17.png | Bin 0 -> 98900 bytes .../obs/obs-18.png | Bin 0 -> 63226 bytes .../obs/obs-19.png | Bin 0 -> 62782 bytes .../obs/obs-2.png | Bin 0 -> 27020 bytes .../obs/obs-20.png | Bin 0 -> 64392 bytes .../obs/obs-21.png | Bin 0 -> 77216 bytes .../obs/obs-22.png | Bin 0 -> 29754 bytes .../obs/obs-23.png | Bin 0 -> 50554 bytes .../obs/obs-24.png | Bin 0 -> 67618 bytes .../obs/obs-3.png | Bin 0 -> 28014 bytes .../obs/obs-4.png | Bin 0 -> 26074 bytes .../obs/obs-5.png | Bin 0 -> 72960 bytes .../obs/obs-6.png | Bin 0 -> 43786 bytes .../obs/obs-7.png | Bin 0 -> 24162 bytes .../obs/obs-8.png | Bin 0 -> 25498 bytes .../obs/obs-9.png | Bin 0 -> 87888 bytes .../oss/oss-1.png | Bin 0 -> 51336 bytes .../oss/oss-10.png | Bin 0 -> 39438 bytes .../oss/oss-11.png | Bin 0 -> 114262 bytes .../oss/oss-12.png | Bin 0 -> 81804 bytes .../oss/oss-13.png | Bin 0 -> 43818 bytes .../oss/oss-14.png | Bin 0 -> 23546 bytes .../oss/oss-15.png | Bin 0 -> 77994 bytes .../oss/oss-16.png | Bin 0 -> 101770 bytes .../oss/oss-17.png | Bin 0 -> 34146 bytes .../oss/oss-18.png | Bin 0 -> 93874 bytes .../oss/oss-19.png | Bin 0 -> 29530 bytes .../oss/oss-2.png | Bin 0 -> 22882 bytes .../oss/oss-20.png | Bin 0 -> 28516 bytes .../oss/oss-21.png | Bin 0 -> 42046 bytes .../oss/oss-22.png | Bin 0 -> 27908 bytes .../oss/oss-23.png | Bin 0 -> 18806 bytes .../oss/oss-3.png | Bin 0 -> 85268 bytes .../oss/oss-4.png | Bin 0 -> 12796 bytes .../oss/oss-5.png | Bin 0 -> 15186 bytes .../oss/oss-6.png | Bin 0 -> 53704 bytes .../oss/oss-7.png | Bin 0 -> 22314 bytes .../oss/oss-8.png | Bin 0 -> 20878 bytes .../oss/oss-9.png | Bin 0 -> 65390 bytes docs/公有云注册及使用教程.md | 500 ++++++++++++++++++ 70 files changed, 554 insertions(+), 5 deletions(-) create mode 100644 docs/JCS_pub_API.md create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-1.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-10.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-11.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-12.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-13.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-14.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-15.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-16.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-17.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-18.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-19.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-2.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-20.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-3.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-4.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-5.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-6.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-7.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-8.png create mode 100644 docs/figs/公有云注册及使用教程/cos/cos-9.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-1.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-10.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-11.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-12.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-13.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-14.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-15.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-16.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-17.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-18.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-19.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-2.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-20.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-21.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-22.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-23.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-24.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-3.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-4.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-5.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-6.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-7.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-8.png create mode 100644 docs/figs/公有云注册及使用教程/obs/obs-9.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-1.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-10.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-11.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-12.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-13.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-14.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-15.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-16.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-17.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-18.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-19.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-2.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-20.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-21.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-22.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-23.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-3.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-4.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-5.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-6.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-7.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-8.png create mode 100644 docs/figs/公有云注册及使用教程/oss/oss-9.png create mode 100644 docs/公有云注册及使用教程.md diff --git a/README.md b/README.md index ef08c40..8df9b39 100644 --- a/README.md +++ b/README.md @@ -69,7 +69,7 @@ ### 1、云存储空间 - 使用云际存储客户端前,用户需自行准备云存储空间。云存储空间主要指对象存储服务的桶和文件存储服务的目录。可使用用户在公有云开通的云存储服务,也可以使用用户私有的云存储服务。 -- 主流的公有云存储服务注册教程见链接:xx +- 主流的公有云存储服务注册教程见链接:[跳转](docs/公有云注册及使用教程.md) ### 2、云际存储公共基础设施 - 公共基础设施包含若干代理节点,它们可以根据客户端的请求,与客户端协同完成跨云数据迁移、数据上传、数据下载等访问操作,并可通过数据传输路径优化、数据并发访问等技术提高数据访问效率,同时降低客户端的流量开销并避免客户端成为数据传输瓶颈。 @@ -214,15 +214,15 @@ mage bin ### 2、命令行 jcsctl是JCS客户端的命令行工具,使用它可以管理JCS客户端的内容。 -jcsctl与JCS客户端通信时需要使用证书进行鉴权,这些证书在JCS客户端的初始化时产生,一共需要ca_cert.pem、client_cert.pem、client_key.pem三个文件。jcsctl启动时会按以下规则去查找这些文件: -- 通过命令行参数--ca、--cert、--key指定 +jcsctl与JCS客户端通信时需要使用证书进行鉴权,这些证书在JCS客户端的初始化时产生,一共需要`ca_cert.pem`、`client_cert.pem`、`client_key.pem`三个文件。jcsctl启动时会按以下规则去查找这些文件: +- 通过命令行参数`--ca`、`--cert`、`--key`指定 - jcsctl自身所在目录 jcsctl默认使用`https://127.0.0.1:7890`地址去尝试连接客户端,如果客户端地址不同,则可以使用`--endpoint`设置地址。 ### 3、API -见文档 +见文档 [跳转](docs/JCS_pub_API.md) ## 测试评估 @@ -380,4 +380,4 @@ MulanPSL v2 指导专家:王意洁 -技术咨询:宋建聪(微信号:) +技术咨询:宋建聪(邮箱:song-jc@foxmail.com) diff --git a/docs/JCS_pub_API.md b/docs/JCS_pub_API.md new file mode 100644 index 0000000..152bb13 --- /dev/null +++ b/docs/JCS_pub_API.md @@ -0,0 +1,49 @@ +# JCS-pub API + +**跳转回README.md [中文](../README.md) [英文](../README_en.md)** + +## 1、桶相关 + +### 1.1 创建桶 + +
| 请求 | +||
|---|---|---|
| POST | +application/json | +/v1/bucket/create | +
| Query | +无 | +|
| Body | +
+ { + "userID": 1, + "name": "bkt1"<> //桶名 + } + |
+ |
| 响应示例 + | ||
| Query | +
+ { + "code": "OK", + "message": "", + "data": { + "bucket": { + "bucketID": 1, // 桶ID + "name": "bkt1" // 桶名 + } + } + } + |
+ |
MUSeZ`Pp~oPv~2_`bWA1&o8){H(yuXE%=Z5~@Y! zKvh%}mFH-VL%9Y+1G8s#m|1-h7S6Q$;2R`_?K_&_@ z*|AT`J6qnUXlMy`qZN0g^!nda{TH)q2)DRw)8vu%f73WvS%G1S=?mN+4 L1$L;X3A|L(1hB4weZbF8izn(p~cA#pj(Tw_1?q< zv`gs0w)GDpL6lM>5G8yIoUbsu %GRto5?zG)NOANc3~o z>!q#TAFNSzEr0bS425+{A4H)Jzc0!BbCB9S7~DMXskS7(3AB75z-8CLwefSl9(8S| zi(GgvrwK_`?G$kWFM)ZRkh-IUl3bj*l%sCDLuG@Wo)uYR7~xKz7`nnY&`h@af}+}h zkn1$t#fw`l(B30=BCKMVp+A5h)@b9DmRmyyS)W8~5_3u%`!?%Q!}_XFndsOrS!R|# zi 8I(0aimY)s8$g8o3S`TTuA#Hhi&m&7cIuwM$Wo|c^z!pe;eGeRbdWW< zI g&nd?*;;B6Vc09W&-?*e5Cj1Jg z9TZEwABC+NfRw}FY}<1+=Iu8# p<~B##gr^ea0xYFSj|$jcl7b`~5cq#qTvW=#h)&UrhS__#mG?@&H%HxT75| z R96bHdE zX-&?cgx3gedI-3u`$+3@RD83xd1%{`6$nE{fgQfqOg(3kl~6e{=lkY@Wq?gxC}BbY z4{dy)O>_=(PmDb4oPNMi7+8`*=ix)wA=QA`!;93}RA08e;AQv34<-C&Q|jHvL2NN9 z_bOXj^6jcv;hPHu1K8dQuGf&9vJAq3Q*{N*CH83ZB&u)l=s55Ox0iR(H(GjFDJGs( zvweHVXaBg~&H6eLD)blgWtEeO@X<`%Z`t y_vkBXs zIOQgn_UNS7lBwH;NdLX%HlR9KFjatn^Ze^exehAwy4#GDxqwn-u={F4GTc$vaMZTW zE_xVd+}J1cu)56dv&Ke}v~!x)s_{@)kblV|dNe&}hfAuD8AzTV=9E9|Wv{i={gSSO zrL}Udeoo Pe2}sVh;k3-zZwOLQu|hiS_J>d zg6res_M^8FJJq*hR@FxF&|ud`%NEp)A?GY}?~V3;{PKKs9|sMhm@0VlHPTg17US@> zitR9XkMsFobnqFfraNohw#sp-D&7~@0gCnUkFK*nkjZ%J{wf#qmRgSKb^FUpLpaFO zG7&AjqRnUC=mIU5RBs#Wb=ZVVcMGSw{}oM=pPIzVKH+gKK8Xk(1&`*Kri!=4KsU8} zv3N(Y ;Mqr2nSISX90DPkRP5fKTxStt^A_(HQ34+^wV;2bkZSao62|E z|1fQ3l&$0XjG+FQ=UwXx?w=)<{+@ty?4pQyjrTvAMmoqOtf4 %6ELOo1a2t6hF0wFrj-3IvFj+6Xh$OpQb>P< z^N9#W1%=v&{2#*o{J1^YFvSF1QPJlUszcyimX0sGw5e-;F{j}o{Zy&r%-zw*^4QwK zAMhqx_q2K>=C+G`iIVtVvGs!n1BktT!M?HlQwq-(|06B=LbGe)D6(4f5fnQZ<@H*W z98{;dc*yC8) =v0nNRjd^4OkjU! zDmn3&brG3QR `FKBsgcb_Btt-Syav187wcHj8GBVlz30x4L*Vj0 z{O@VYx{5h+l39NcV*HTMI2Zo&)-IAo#FWZ_ v+fU-+(mb0Wk Ll`8*D!}9<#g)G1jc@MDzVa z!bJO)L(ZQUboZEI&cx77QbQ(+)k5#DpJmD)3TP_-fVRVuvnr%FF5K7Oh6r`VXiX7} zVn;L|>FuvZ*c>rA4ncN~#z6b{P*U~?ESB=;nZRAgY_dMrU4h@id+P(0QFZ2R6#N_` zEj#~FFmS$SO+KGKUpsjc4~HfBh$nJQ)U^5jGq}{=mg7b@AWVa*FH4C7<&J8LYhWIX zB$Huj6_Uz6$rG-SP;0A-9bDD&VkyeMUMiA0z2wJ@#mg5`GubTC(Jzw!<(*<6Bigh+J!hbG4JO&;_6GMtpVnL(@h>KT8%u@#``~V=h~G)yguJqXIf&< zKN4sG2gO{UoQc`jAHn!kpUFx!FNXP_GE6|AEiez(P3Q*-dMig^)0gMIZ3itGd %os{bs=Li`nqZju34e|J{OR8ckk<}M*f;1<)w$jf@#Hgw2S+WF_* z@qV5JO@eo|^O7gn&RYdC>QEmv{btQ}e3pL{BlN#uyXmB6w6Pvc*t-9&2wJ>04wQH~ zbVxGv5oG>ZTh;fQi}TZPy=+Dl4nEm+lU!S8%_UgBLk;l4^sB#Iv;`cWSHcDBbFS^( zKD8vPFS-J~$62`#H@-$p1c)7Jthqx36w_JO+!E#kQWeR_&7bkHd|7%3*j!9SN*G5> zEcS!?MxjYbg_<(6=TIW&2a#zJ`s{9JdbSP8;EC{P(u%Db{Wr>`sW#3<503ny Y2y{=v<3curg(SW60GkAf6 z&2}zL?e$+YUjtE+4E<6?8VctGbzO@~lg1as7(UHc`8}M ~mfn zusScNeD-BK((13I^ ;(FLZvapw*L_jf9fw;wc~{g4z=Ehg-#&m01}E@=ojhsE9tEe zYNL{kz!!nqPKV~V>mB9e=dP&_xBWlGei==QuJ!1LOiT@@$*xb3KUG{! K%O=eBX(){D&3uY4_0m?zTRc|2{`@X+P1bD&)UV z_*e)#i_`~L>^j=N#rFO&*Vybwibr`#KOqhlO!Q_KF=~Wal~suTE?3W;ord5iEz9U< z7Q!RoJYK)jxBZtAek`MnH!G7YMn1tP3Jl~dy~Mk{l2wbx`xh)B!iU~g6>S`}n$GY0 z`T!W~um*r}VqWn4FKYogTYoAKY&E0gkg`^sNv%=KT%+)qSEt;cl##=K_$jd|FW_K; zj#BWzJwakU0zQ(|e`O&q8TGaVX4IQ<98rP2Sb`zvwBib{A;y0ojvk$ZMXW3!z_aRK zkv&CftUevuMJ%ztRzz~!`wxZvyY0T6Ma3O0a!=H sWC1Vk?U*ACjc@vyKm;Svm(Ui`zI+*RoqsaeBw!NVUVnE;S)!;*-CJ_u*36 zB~?hUg6dh0Qb75ya2+`p1^z|ynVi54W5_I%^}j%w>)20Qfy2BK{DEpv*~bLBFnY z>dG0W5+lEqo^;EQT2KV-;ftv7=ij_Ih#p)f_ZEzjlrAB07q*1p5o4rX;c !U!%HL?w1Sj|?V=P#hD`QB@kZ<~;(q;AwmN1T>7xtB4zE_TN>*Cn( zKXGNQI2vKZP~kn%CrYJC%7hz`8%b!_AJpZ;cezQU=nTiqSl*u4kgC-s5!-qg=J(Zh zCb`db)b$sg1O@sy?N{e2{_`o}R |HaCww#p7JcIcwIrB4j9<)!;lao z!MI4XPl(s(m17Gn4dbVc-N}#~^9mi4MU<%}jOwPfPK*7??TS?fOmvs$7O!X|>aHeB zn`>+)njl1hOFZ-2TFai)T%4ANUH{WkG@oI%!t;g+`9FG$%5oMzvJla_5crPE)nYnY zI&)Ya)_>>xYL@K#g1nSh+=l&6YO|u*rh2xhA|Dj5C@fYV@BNj4dV&M^^T#_J{mZ1| z7WCsl&+3nTZy# $XU$mA?l?Vc5u7okyx zB)=5m`+oXl;bdpp85hX{ ydO1ijqO=I%|X>G{O;dJcKID$%JiwvSP^SoJc)AU_r6~`@9wr#BoXKk&rm$ zUJ {uG=c&kp~T|^IfR@MILAnnHp*#FGv{7WhSU|=6BB{e{?^k z$5EW>5ao1hNDcDjtOa&8MZQP6RR`wM5-TnEptOY_shmR1SOC!d3-)ES*W&w&B~R2e zQuqck7Sbd?yVdTI#n8a_6PEZ?c7;=8JQiuF*JMc5_N-IMhO#l45HWNRRDEB9k-LL_ z4sko_XWu>@Ydq9^*7*CWR^t^W%^Vk`oR(t|TWU;84HeB zNSq{6Jn~BO1fk;=Hv*AmDFSFaBlkAKjv1dPAjI?Cf&MgAHL+#YS~AMkg2|=hMAp*? z4zo6`a8#d+-!@Aw(y~Q62%+|uuM&*h$0J=$TlomzpfLStztDzzrKi*mF=+byyt>ep z_GW`8i&VTqH!W-mFm{U{`tAx{M8$%}nyQVUK>TfrCjx!nYsDeLWw&`~I!gR{ui>7n znyXLK&Hv^oPN2|+KMp*WpaNti*&*_2UtV=n15EG-eoNGEPcfaL3K#IH7{6akTqcuI zdy6z!-xJJn=ja>n(m~*<;2*(pwi&R?uqis7iWe}s7C+cIasEx;PxQgB_uBohDPfsY zTriguosWduQHB;%(l=Q$A$hWwU;S#_q`z_&xzfVg|B1rZAJ^BDS=x`0!bYpEKvP@Q zj;M 2r$lb!G^?3TZXvvN4#Ws>v;gaqA$WNFNYlAS4=g`YS zUPMk$Hx%^+nT9n_ud@%FI$g}`rWD-3sy9IbTlpHdI2tv9HUa+^!$D-G^SIKFleI5a zBfFUzhNC*2o=saPejNnn-dHEFZ>`wsCWr~# r(^yu&r~XVo z#3WmU!5}}Dlh0$D&vDK)L^#x9+DoJuN1@-Rn3L72yMi !vok(QQe@1T35U~43rQW$gC>hVE7&v80rGO+9E1Jv4G3?{ zaH#4uA(i?eALsW=#d6E;ja2|X5ZI{&AiK51iap=ViN*JwQF$lGIlcMrlgd|>kO6kL zm|Pl`$Chl!C{|U;FzDxI(HU-K^s0}NI1mJ?v~(GfVzo`>QFD&sWPIVF;K&GvHuw78 zN|vJS)~~2ZzX;2IY1d n+_6HqA*Nvb MEc_EFsHyV3stNV(yn7UhIMk5kBCEmRzMFj_i=r7(t8;`{9ip0K zN)B3})_N0Fklj|0^QFH52S7QjbrSQ^{xJ0LERyV3q!84E8%PLYzuHe4V#{4NCu(>^ zV~jx^pf&kF3XBY4?kfGT2*}IIy5o_#@{#`843zoxVl02mIXh$NLh9|f?pSJ%S)>lk z=l3+Y*~PjmCl6 Et_kZ&M4c(?S6auV(yu zgVc!U<@)3|_4Aw|aWkPw^le?niS{lR30(+bz5>EhfIS<5I`{kS#8#6`Db)FwG;UW3 z3U@w4KA+Bj#5#D~EJ1FirE6JN-o@byIi>h^cBnG+?I924C^5tGASx}hU^1%!>GlW$ zPNg9WV%CG)mc2p1 *R?7-m?`uhXL9vFQYGFUyEx`m@K=@4Cvjjai7)h! z+8%-%b3r^ xvAtEPDLvCyHQ E z_Sjr W?aJ}ub#etG&-u?1!xf6fRgawi5oM-P`NVmjZxf4N&^P$=q zvBeIeYWsU0nDJa%@yCwA?IlBCZT{{eiem=_M?9}R$lM+BPsly081=et4ire>R)Irf zW|{}KvPe-82F8IW%#C0BHSb#q1`)>vn!Tb;z`jb&oWRAbE=MGV!Sf8^T+>A;a=1^o zvuAToV96QYU7*}1zSe4ao0zMhJo+H2gC}f1{hY6`6<-{T`ux
47 zW7hrkbqld50J4oZ_cg|%jX?7^1SYoJ&{?yv6#ZAcs?{BE7EWv~I8gkgD{4Q$%R{s+ z?+L4%t0JFv@rF 9QYy?&)xOU1-dvKYs(C2UnzDF4Dx)gB7dK zvn`p%gr%6bfmG8GBqm$7W=?3-knb@TPH}hJ`${R%R=pAI9+B;v0V*0$dp`8r(U=Bd zJf=c;3!=RhUvZQ4=)h9m%5i Y{<&6wD6N_e=l8PW z>YttQL}5W{vO2%ot28=>g>zcbmcX7l8Y!P>Q^b2G!>ige9Fe@eXS7SG^XMSKUL89U ziY}|T3?qw0#yaD}$eK4e28CE0D9x$Cf`{KV$G+Tt@Gxv?-~gTHfs~b>egC9}F(U=> zs$BoI_hLzLHwOKIU3&^aA*~q|QCP7WY^5ra+y9bMB71=K$7)wCJ?>}F)GjD& zbl?wkS*LmL#Wpa<_XB=n!u<+Pz*nE@0%xCPj{`8+WKsu-(3cHj*G&QXR&4$yTDdJ- zlB`#7oU`<9>!^dOjAEM^9$@mMjMyG$`z?jd%cslB6GI#IAVNo|q+~D+I=o341_ynE zTUHn@J3(!wlj3u0byV&J2AjC#2&Yn9g?Tom*;jwjk#K+PHk7jESGSCdy!D}H#)yKA zb0B#Sob?e}RxtV~ff21)F>1{T`7&{g$fs^?6OQ*EM(fA6n)8Hc5%EWK@)BGVGHH@! zHcqAO?K+X*-_ES?-EXoyZW@Q4FFE=k+G|NsG*@2r%yg7xZ-Qy8IZS@^a2 R3e779>s7NTw zl+WX)l;alC+jj$I-DYa}ZW2}INNsTwTmecZNwbgPx#!OZcJSf$6;_>HhOwIy^6VWo z+H)WRiHuAhIfq>}rMZu_P~*IluhMPzmyBf4c9mC&VRThn!Kwoq>X!-vw`g8tA~NAc zQW}D I6=D 5=^-Ga53-@4CWSh}a)h%1m;9e742rf_Elw(CiGa zBF;(8&z^V%#%J(&TsMWFc^rx&*k2(WGe}C}kfZl_gqDO{K3oE}333h$ielm=_MttD zbGXz!qPK<$P^Wj;#DYM;C{lFraA%|FFzP?=VEvXrapsQuxMDP<@6w#~#g#`KDIwW? zU`x11;QKzb#j)A9z|*mW?|WI 3L2L@E>r0@ =3{E`ylt1|{Tw2jdYol_mD!U_MT z6ZlAzD_SGsu7uqaYXoTeB0x#4IuFQH8$|qJ)3@u8O)aDrCGp{#SUD8SjdiVbiQQZN zCD654!(v3L4u>~EdNoUsEss>#17#6b)Lq@@Vo(bPo^-e_hBs}wm7S_#V)wt!l)paY ze(x9pg}H-*GR9!b(BoZ&^^^&QX~NHHd6KRHWt #<@G8eJHC#WzCeqs3wSemhBwqRo!-v#neXiyC;*ZDJLou6(n1 z_QNPJ&hzm{+c0&lX9CThMicaTURe+!Dh?Mxiveq|b<9d&i%a!3-=nf5vJHiLn9qPC^^Pip3A?ztK z8xFi?QT1zw6J1M_0pnNV(h^?_gcH7J4LMt0e_EmEEmemw?C7xLMK-=K=4LxbjuY?S zWwFfZ$&ay2R?}m4sdTewJ7Bh{lqk>eKfkl5(3vdEWGIj73NXxA6I()M`O3N|ta&2% z;f*J?dz3uWYq~FMVYxuLwY6Ul>VtFWyoLpvUGb=Y?F?0rNM1ZY?w?ba7S=EeyLg4t z5^vD`K_Rz7Yz6}SMnwoxMzKaz_FF{B78M!1w!%E !De{>0qYUvt zMgI@!Pg@G${XM2S0}MVoZiDT9h*$^|^1?a>sb2!6?|V56EJoM7A;3#aioA?8TTN>| zM&~B5a4&A9L^IWu9*8idqM??}nrLK_QPmd;EmWSJBnkt^--JK3_$6yG$S!#h wo-ypbAh~_0NNtxAbNVqzvnstGKFEGMK7h7j Pj}v0ZIIG3e-K8SzY~84s!$0_XVAb^479aauIseTCe1wmzm`k)Rjolr!z5K z6|(Uk`-@@yI_g=t-n4zY8;>NLaQuuY8rSNUpmdvJF5tN`7Vg>T5rs^VG$@g8pNz)W z{@frC|HPEJ*1Vr#Lru4)cEI($-Xqf>umYcWH;>w!!C$ffPU<2<4&TGU#Wc-L>?BV% zwd%>ru7bs#JRLgUGg*qc689LD_3N=awx5=1nG&Gn+C!K*U=2oNOsHf2<&=En2TZiZ zLJ{a=wS_1n;u`<-;j$#tj>#zjMAz2{vhP9}8RPlBHKdI3u^)2v0a`qtQre ?^f>f9rdgw(OeM#34FwIE%NBiA$YENLW+W+6^ zaIS6^u2DhaWRc&`{Wo5W&!0%-c9aXUT*oDy$>8CvzF8NR2R{Vc;jK)-K2?Ki%S6;9 zE}f_Ffe)Ugzz)B!&_2tICr7KLs?49nTF4+xJP?2Jw@|-$f4)2g^mADFw328t&L1|~ zB$@q~Dsk_K=v}|5z;xmR(k38psm8?{0O@P }XF7IzeD$j)Ht#7^6;G5eE{IpKOAX;)_eEU)?-01ur|+Kv|6#pC zS$V*&$pGI*{g3@s=dn !QjBgQ z7TfS?0R$_>YT}-)T{F4I8>IZQXgn2tPoqnI{$Ut =p?-n6?oU|IA6!A&^pN*-7@rR0av@PKs+e_J%zzEJOVrbt=IO) wb*A;%A?PrDb|}m)ZNBCcGVm z&&`FQZ}ijgySZ5bdb^p)5MUR368uzN=z&}Fnwg-e*V+(>ex`O6d5Kb??jzP?jzd+o zBqEA`XdwE7g*qVE9PvAl84WmZgtqOqW?(3Wi cjT03vig(62vKJ_43dbXG9jVP<>nsXyC>)KEi?gFe(BtE(emSK{jc zHM|)i+b m*051)yrboZkvKS`og!(1mbMtOiUAzUX8qW6QWGWQ?)_ zQ-$DpphKd1C+ki6r V$?rfxq1ZSKL2vdAWY)54oz)6TUD^!NwI#_9|QfL1Twz%!bmia~BNQ3(xb@ZGGFg zGk8JOBL~L1I}TF-1`1;>NwHeP?qQyITgu9j3qeydFSAeni}-`p@yqkfY`O@HdfBf+ zY;E^)IylpY!N0@{zai<5$JIc#j_7dY)M3=8L4tgNb+3UDJ3YQmC!DBOs1TVES{RRK zJam^#x+?QJLz?VOKV7S?8y nEIBKE{C7yN55P_ zWx<{2`~CntzAD;$kourRL25pyCXK4vFbP^pVB2oWClSMr=9mXZ?TIOK8UrUV}h`(0art z9csj2ch=|?dT5AFZe)cuaz&(FlI=;wa^^~ -TX;c6=4rNgk2f4gO^%E6k3j*jM~HmNOr;2V!^s;Hjl$wbbqrY z#23SM<%p&8aB|;lFRitUptW7MVXl0|uIK)GgJ6Z^?@G8_zH$fePHH5JBKPxvIs->1 zpQ9tT51Sr_T93ws0Q2iLn8^ynKxqCd t; zu;HxPYT^XeFwYM{ZrGGuce1&+q`tU;%C$hyqi*XpZ&YV(osHE!>|eF#YFbHGF%kl0 zC+ihve$#|)91&+t?yKhgK#JIq)}UkO0(ZC_qs|N_II%hFEdh=E*hjI ger*zVXFcP# ztS58aov$I9cO4I#Tt!17(dY)>k4}RT!p)NB0$lF}S*VkjwOULwl9J*Xe#;C`Me*X= z_efF)@QM;k1k@g4d)n0?Aq`|to-B=ZDObOUgH1J{W3gQC%^b)+XjC5AK6&}_{~R$j z5tZl6!7%cYjsrr21HdKZiBWgu(3&z4j^8^cCP0IwaLvBW)GK!{#Gbi1YaEDo0(H=Q zZ+i!w{DyMbkN~e(7Ty^F6Utlg1y?YDMlNZ=%v}08F@Ts6u+dfX=cPnQz)yitJ3)WD z6_S^4xkk4f|Bsj6>JGCUF{{-eN4(b7WB#Re@bBr$@E6Q&X0y%vxj{vd>(A1toEas5 zHGs?|?^vom#_xSI)su6 l( zm`EFDQfb*2YdUD}!43v+)Cm7d`I (VHSu Aaj|G D`n**u->%TA0R0y>?QX<%x$)%p1*wX0y=1XqmTrr z!N}^qFW^Zdamgi3k$JzR?R@tJ1b; =yltA}3gY9OHkxxqiMc zp8RWFC5s={pubL&W?AVEa+HUxSR|PuAfbRcv0+P lO$n;^HsFjpcRcDTsn_ZZU^K%<`$k|;WovwC5z6mi9II5D#gc5WBo{g z7i tB ~UPtr5flY_*~5`wr}ygS{`IG8ZkUPBKQ z5`6X1(tUq(zHhB6g;IxG&C+0t#J;NeV{B%!)|ns6cX9sX%TtmO$a|o;jUnKf9}kc% zV|T9Y`I;V-r^HxQXQ$~gz*1$l2Aw>tBrcxl!xaEKXMm5Tjxbs&i7sbV8Ijxg%3$HP zc| yTIaFk)MV`Lgw7-c8@R@dns;5+2%rM+_8N9{L6 z f-4-Y$l({iE2;cn#@QMt#6&xqgJeqe+-@%2vFszT5wa0n$k)NBz?+Pe>b zqBCYQlI_#^&8LFS-A_-~9Dq{;AY&uGi3M1TNY8N*HUNdDnBwr8&$(on$2_xUi3xAg z7|T5YC& $h%J9pL~V4ZEFr!HzL-@q`&%#{sj3AbDmwo zvo9>s?0K)P;lYIDwgvZC|1Kje>~9e=sc0$iy6Q4F(sVfXZ7Yh1r4QwwC+8}U{;Vt% zi-67;%(@I~G_1Outx+X8aw=+B5YKo}%g7D4@ffg {wXNXqD02|b8|J>~Jm&910EtjWOzwtUr@eo3*O1Alq26ZS;tH@M0K zOb;KGr6fbfj{jQqlaJp0bF)zgAZVE2XCe;7m!c~wkCv|)D#JLbo&54%hT5cjTcE{g z-S1xb@ed1cceI>U5&8@0#F8!}F<#^j)$vi(Jh!2fF?3Ns0{{9pHnFv<48L0~d_*sD z8%RlwzHO`QDNupa9ovU ;R(V>CV_C)DKJ-NzlG5{`ixB= zG0?O^Gen;!@_xKwY636w;1PO0wC(`##8hufGG2?lU^;e1-`ghxjb%2M4pf(>uBux( zDtkZqvv@?0mFWoJ2;DH=c6 ^|8s1RkI2k1;pt%b76V5N`d==hrCwzd5%L#EfUsFRNu^`-nG{k70 zZ`8ybL61H7m Y-b`GTbG4_r z|9YcGWRBn$Ju^!C{}J|%(Uo>lmv*d*QL!tk*tTukwrv{~+qP}nwr%4})zkfU|L8Hk z{5?s=IOptp@3rQd*WBw>kAygg3f!s!C;R^ps8VG&fq+UW(iE*myoXEAXdaGwvn;p6 zp-ZztIO>E^@LeHsK-0c?x?Z7cHM?MdQ?r{4wAk!G zXd&=T&s;_b67lcGy7+KA!IcEO*dgXy`LrGjv9|?*QmwjVn)?j_ )JN?r~*v(Q`oGe$^tqT&lk;svz?-qX6Mv2M;(KsusCU(l_ z_Rr7#<#v5mdLU*Ts&xzm@~GtIGrA83lJ5~5GKvn(;Yfu~^=-@eREqfPeb*{^85ua% zyM-ej1j4U9+-~=74W1VB6ohdBiCjqR1#^MtXOTM2n5DiAeDslZj;xhH0bViM13gRM zEX(;w#P%qj-%+V7*&Yxk+TBN~dMAi%Jb6E<1Sn`#r9c4^i&+Tt+dU1s9?;ZIrSK6K zAF-hRp4O#HyQ1f!+Qq4oMlCgmW;8&Bwxm?Q%gAj1Gja|1F8WxbN?&e6fATfF2fLXU zx)N&4QKE{BU4<@^MwXl~I`WuwE@@ClXwfa--FJ^-0lO^_N8pc !NrG%C6bOT*Gh<7LPw!qu{Kufm?u^cPVB~79$bEQOZf|^rO2;Q{&L`=Mg)? zOST^636uMrjQBoJBb@P49|>txDc|%2> Hmtr|;oZ&bQwQo&8skyTJRxqU{;(L6Og!T!^?K@{)-N*s5V&cYH8kq> zm4HVNIaSEbQ7%ie&|Z0|l=*KAbKoRdOR6>Em(nH1-fd0vU)MX_SeZ-dh5OG{-HkBB zp9}$g#uN+wUF6Q&LE7h;K&*GH09u `|sdizob;|?SMbN%eEiuFJ{+i|R=={0} zy{Je4@dy#D{2F|aahhNh%VS<;tVVw%%s)UwilnGo_0FCi=Q>Jem6UHtB&ZV`#aF4l z7U@te-=&u8I!ymon{HFR`lHxvCf3>ivoWq;e|`tkq+GFW*s&-4Jw{zay9PaH1QZCW z@dMWS!sEY+c1E9n+8O@NihN6n ;@VXg zbf l~Iz}Haneb+o; zOC~ExM7iuc$R0JR-cjo^8I9kv{U_t42(dMZEFTZp#SZ9}`p%fbL4UZALJ=n=3Rfco zxcMoRtZlRxbA6}({F#dWI>_s~#%=w99R&mTlGpL|)xjB`Co*kvu9fJ$nEPJmJ?DE9 zl4cM<*u9GG%=i=kxi5;(q)j(DUvRWN-h&H^b8~0p)O}v|WuNn^R*v=m;O_4Fhej~j z@tbj+GT%+?Ul;2ZfY%63yyPPLJ|gL|5nEh{%eSQ--nra1GUOTDeC Kw3)I|u>w@h#+UgDuf3S*x$w$LAIj@{d>#Vc+W?DJe2?Ylh z514f1vmKxuern*1dp#r9-bO*P3PY~BMghM#d`)eM)HD=)W#(cr=+C?4IX1T(5sK`) z{VmO}{J}Uu^zExxl*=cg&kImthZeH3YW#k33+BzUx#-;^*xl$yWt|U?gH9dciYTP@ z*Lu(SgRQSRl&>$(I~QzA?wwD`lP^TokAmARg%Ia=;rBY!r-p7hN*QPvXGHuWg3>P{ z!xC`Atv}kJIOX3^d79ha2}S|ww_S8)TeUGf=&4^?U-u@m5sAIyXyyG+{Al`hT&n70 z^8bcZ^p})qO-npH5XiZI1#`jW7zs#o(L5e !mCfCcYb zEdlVS{ff3BDoz_3^xeO4jzbILC)pn5 !1a^Y !+9h-q&fGWhJ??LdpJET-ccPCjhiNmm^LwD;(O^>rZOr zEcyOwYwpSzAS{alCS!r=oE1#KT${{GxQ!R#Z$N8a05%7vQ_BXebP^x;qg8cnT1~+9 zyR8yP{U0WwK1AcGf$0o45I&YtGw!a#THQ7-ILBa^sjxchZ*R?Bya2|z)WiFidk7P^ zKWHx@Sx=I8#~ukdZjpI7WS~v`L&-ALc=K(tvsI`o^xgs{UMmoW@Di9oKQz$7vTZHo z%EE!^*5huuwV&%9TJ2Rm@#PK(xarrii=vBhgF cb_I(vY%|W> zAZ}!PWj^Z@rbg0;#ErjGfm%*9C$90vJO fzG|DdM>j@jlWa$=k}-*90{dz&7@l &Gk0Nc+~ay^%WKkHZNB3- zPr}Q7)=s}4?l$oVaHq>w6uuiSzk8>&+cKMq5B?EU^ BxzEsyCjphq7#F-XqtL6E=8tXclN!cU7QcYNT?>KvJYnJIXqO77#6ktqcH zigi(NGm*47dD-^EJkqHKys4_$5EaGP G)=MMpCERtcu>a~9(-Y;&yRUPe$wi~xMc2zM0cYAs&wES7 z$4AY`a##IphRudI$*6nLE9Uu%`~kM24C-3LnT_H($C}$|BlrMFRK-2uJ7G`FW77#m z=G1BATe3PwhSm?&8pLW@l7R*nx|ZVMrN2dvIW+D+L{xT^=j|`Z1lJb9+&P!qqAKx) zLi-qkc>S&B#GHPWwPoYcJE|k{Ve8(tz)(vOibjCC4hN|+4(zMEano!l&q?z)N`l9v zlGM0Se1&9(Jmt&{ote?8%}E_6w=*@Q$ w90}fO{Kvpf92_W^Ej0EDvJ>cbaGYW zD@-|a Q#2XX*(B^ hWqn1&%nzT>xMUK&Bn~(BFJK8rL^V2 zT*QY1gDKoK3ySF;3qrR82QE^_R4kCf@cSrk7-%0A8OE*}UAefG=uz8Lf=}-phgh4s zbdGiL_v6ut{znZ7NzeS#rv6LNs&PA9~WQ{is$O2{W7d&HYc@`pfPi`ypn1bN#=s zrO!9i1)IK`#!s~hy0s4ZKMqdwk9OvEmEl#~_=5?xbhNq=zfUod9XOzWfz-j!r6qZD zt{Kw&kSJFLJ-uR$RgexdOr{|GX_f*Iu7c;Fy?nv^Ri_U-azd^?;{B<4_K8ZHZslDQ z#5ng(u2g-=niuZR<|8{vO h*ICXX7A1EsZIAX@$_!(EpHfcWcf4#}vh|#{KW z;HMY`*e9@RkdD0{jDI${*W}c?l^^_gsbcS)VF_LgZe|c_H( z6W>ONL$Ru_dyPq=^gq6hDu<#_=QEet&B;u-$sZfeK*y8^XFD?McNi%Ung4CZ|51bY z6FF1J|AI6S#f}+*2W5{u_Y8RBVpu`i0` j{+Q%JbK WHh}XeLBA@9a!>N$TTI>Tet!r!jBPXpa>URxw(XrH{`~zkIWxm zJNyra6G+Nm11CSaCbsITIdwu@h;VlaOq$ I$&v!qR13QEYRZGDa z_b&}%{d4xU)O Q>MGo+ D64%H%f|~xHN7J=mTUZ47A1JfH|_eWj9%9KIy*5_TNL0 zb1i9U7w;D*lwSrkod5p)cWB3&farz6R*QBkD*#XC$=e8}p$YOEK#3P9=uYpSZ<_L3 zCH*^hdj4FUtJX&5dbFuKOvQC=W4ZlRBzXRJDv>a@7ASlwYXKc^#zcy;+=% }4l z@mR>mAq1q+X3>lU!gky4|K{#3uXThSM=|8S)gWAvP%`(9qM@~>8 !7BS6h5a|0v8@}|DigVC2vZDjU=I5Wwk{Tazk#Un^9=o2dq8c)jRyKZ zKUZ=71H1off9<-tQ4c^F+;=Ey!oiQ>kF#$ai`!)txZjUy$Hd>V(y>@-2+con>c7m; zkAL{7z$}OLPb4#zy_Te(+hwbtn~p`5nSY UuHP1TSA<6J}ZBCTF zh%WOvJ0~tkRa^bX?*H8Z#ANM$uChD!`onmHl6g)p?Y#>mocxEcx8EGsmS_QCDyd}r zD6mN(aw7d-i^1vL^W O?(EMLT`PYC^_9e$-H1m9i zUhjK~vProhp?;-lgN(4(5fXvn@U>!mx>pMw`9A?$pd~_fp7B?UXg9!fUxRa!aGmX0 ze;s;%&lha7wisK+owNbgcnNM5)L`tK?>~D<_h11d_~?&I_`A2X$SV}j`8%UE#?`6+ zAJpz|J$nQ#rfuySh3yI4|2VB76Y+13_WeSdIb?x+yPqX|v@@tUP-BVm^ZV!b*UWz1 zp>P)JIsp0ojW2bSug-t`YPVOTE+SE5k8krIMU}{#EZzMpQ*H>8EUB*@#IY3ps}$X- z8gJEf?~DH@N#XA1MoYeZs3g~tTO?H23IA_q$g`-VkdAOo*5K@>To-^XAirQWSR?WG zvbupd`Jl zqRccpfKKC->ArI=iY{OPtOJz)7tny~%?Kc4UjoKA+Xu`t9MkSL)>;*=hMJe3wCh0g z!>*_fKFMyNfBjPEIOox16EDJgnUNe?YC`n) zKIl-~68D>7rTNHz{4K7yXec-@OBd`0S0%iwhU^>&*6puSRhFa%z=!Dq2mw4(T0II6 zOAF2}8&bj{6W5_xjs%LZP@H#ox~Sy__+|IB^X;st!`G#>mlQpgVRzwED24`qJJf$+ z8~DI;ynHwM`1o?f9127P+_NkaV)ixb;~yJRY}JM+$KYR~_VX&`VVcvB?U|fG6WD4D zXSh8clIEQ2aEu(5yVsk=0o9k|m~W0lkn)mr^V_k9P-LOZkQgvo6_Rgm=m)7LuW) z*2(8*D?e_ER+EBHRDUPFxS5&;IhkQwjW2!3=!zBG$k+Z^9d$-5D0l7{M^PqDa=NwL z??mJsShs%-f1)!aTWGo#Y=mzp5yN0aa$`Uy9KmELq_F *B5I(*TW$WSdFx=2BgyB#;-0-8ut*bwD4Gl?s5SdQf4{G z4D|kY;1!QFlh$9rD$KoVN6{E1{X%hk {*Z)kD-AX@40_}=<%eF3e{1oU@y zu0e?9A+cIq35$AB&Wu?hS5-5RjYhjJfslGvH`FsD!gbXJdC<7k9cy2~g>)JsZb)uw zBTmb}h;^9ol>lQ!uo8cG5SYj_OSwa>Yv6vVALo@0W0?6 j%PqZ*?Tzs4lo}|1^H7trfGbRF073Cg`tf@3GfN 9j-_yjQKaP~2*K-}gzWaHImyQ4521+llfTvsaaidtx3(;3BCIezj#Nu Qu;R;b$eM*0F2?jWu{wpRVR!>m=L)lb}wqmFel@U(!A zHmo9jxzNqp>C}xnzdRNi7L~l#tJKl<$s%$ZNzG&F(fgwY{ROtA>r!PrIcX0LVHdXJ zUvN|3`poDz{BHUT2YpX!)34s~RSa2#jt+!|-iy>PXUn0 ZgY zycEbDc1l`BK33<(K>oTBkIRiQX0wT42VztW!F9oBlW_@TPaMQW4Sx>bMxyL+bDziX zx6A9GV@L&xQ?3Ns1T}WdA0QkT4`2}mD+wp~#VebWb?HE*hDC|r9McWEMv;`HAoLK7 zc_#_i{(Ky@<0S>=0KpOBr9>|J%5$uOsJrBNenFffQ?Fiv68%s4d-dV82@(|Sz1%p= zTS%JU-#)hw1PuXsv88dsp%2<4nOm8kk`>waOPq1m-kE=rOvm?B{6TiPk#WxoWbnFE zkB9YMt1 H!rUaw@JfKlOaeyOdPlDQ6)okO(EIjOw(X9Y(yX*c20`v*f`$glR zq}KxwH dqUyxclI3Hr6mx=SoMY|)23Q7J @*q!$nJw1=!*} zVkNmTtucd_O)r!2&)5^9?Z^w9H->*pkfIdAo9w&knW$OUFFPdpr|}G~yEmo+ 4ZA*_zdcCzAqE@>GV$^pUkzx (bGXv9R0zjF<;qG!bSdzQnf{q zp%Z;kI%b2&T+5~qAd&r483t>2EA?0=rPA38`~oxXrJVZfbJ*J-&K377e#cCnO)@vV zESgAo6|{H&$Y1tLdXc(N8KQq%1P1<>d35B93B5&QnN1s{?z7X6ZSt`l RpWlaZuH)`{@zR+@LKjl}1S1jk;P;09U&{2z83OmMtAlHf1s0w4 zq99a6=?9*VQT$_m(!DhHj0Wz|vkpeJJndGY5YKi)Y6H-hQw12c-GKbjt i3|N-7NnUMTLLl|AhIrU%uW3sP{%oc(zt(SZ0_Zz(Zl8YzXiqV0&=(M` z(QX_HZDuewH5tbzb_$;%XD>H5fo+6CmrLA{`Z#|lIpsGN{zaZlSeHVOQX|xc=927{ z0DQ8y&}w(h`rRSVctl;Hy}8GEBlh`^=unWA549aYPILZcxbg-_DLK=}!p!O4-&FL* zIYOvcd4kqMcU~t3zs9@&Hx_296vQDAJ$u@-ce%OeBbl9kyPsBrb
8IfG9Rx7K&)29 zZIM|N{W2<7j619VxTJ)1faejKEbi90Q6E|Ijlf|FkvN>AuUt2h@sFikLDkq&<*I;* z(EpVSRGI1-+!P%}L*{5c4bdgBzC5^pYf`8a#7)L79HXB$-)4w)4V~Ei76oD IdIb6?5=BV>YG}>mi$;P%9g}K!pxP1F z@abaYnq@}|KHY~?YMTcGR&kjlu?S|h(Bl@5Lq>t@9RB@;3E5y->3%CLR~#sEs`&Yx z?mPQz;gjs|{GPPV%!#Is(4RORIx^9caHDB$_=kg)hmbtX_o!)D!X}vuK*dUL+0BTM z;(_NJHtC}LHW^S~6Cl;zq-cgD!b%y+0pm!=MKp8PG`0~z@;f=0JAcT!Fc7iVUA{C0 z4?7CJIvvMx` WFQv`-_r1nA2d64v;zvvRam1{BdS1q z@1g7FRU{3O <@D2hWcMA zA#_)6^$`Ebec`2L>uz~v)vGNtR=%%KRaNW1J^#l3c7TKRUT;z+uU_)s)+n~6h@@^s z0etR`lV@O5s$Q^^%T9%Xb$p3Sb`{)MBTapm_1-NKC}up1Kmgm*hDk@hZ Q{eLO^;|JN@A0H8qt5K;hE z13Wo;a(kE;6Z&6Ec`<^}=zB)!@PG6~&Khp %K=Zv+WR R7o9I?~7ouY$mv&TlT9bgB-c4q?1 =Vxr@A+1%&cWFw6siQR`6%y(9)2A U=%` y5F6Y_ure^ I5bt|CI2FwO ScT*Ynl=#D&IOL~ z@ntjyOOJu**M8wXLZ8OwEp4RQM@HeU2a1C+Ugy)vcVdoLPJQ9v_SSUaIrEEaB-2DE zEs8wN>L5kl;UaZ|Cf*ApcGlpeA(ZTs`=R1-PsQC9corSUs+r_;0YJ}Ba_2 t^_`8LMedVF-}twPi=&-b&(JdPd;6b=1?8GC0;8{DK6 zZDZ*qzA>&6qOp@TGGfnk=bfS0=Zz 1c-hVmTU{7z3BweLZfue>d!L>z_?v{|{8 zTF}45H<5bHMNQK4!Lzx6(cAR1CU0nQv}Ipaf4`L>EX&T1oqJ@%3&hk0b6PAA_;9lu zbvTKT%ey7I8qpT?W%P$8LRu)xq?9bOuTtmOnquytH{2ZN p4k1Y1Ft zJ7}M?@~q71hRx>60;y*xn=<7zHB|V%Y+CogY<%ubedw-2OW~-&D_9e14vKOZVDGpk zl@FjS>!#oW+kP*@pn(D8(SZYB_h`t~Zve^J>&qLk>E9zVTlzw~>`UN)rE~UFTKaqo zgq?exkM)JUbO6GQRxXLy;J>4hzB>BAbj-JBmMw04W mWk|Kt{4zl8Cq5Dm6O z&UgS!a?SJsj{KC)bF-p1sdqpKGqGBMm9*u`HQ}WnE*!$^BfgHzct>w;uxSde0O{)B zTn&%9714`57EBb`Q~4P4f6WG`t k;Y?l5Z0lAf_&A{yD; zSd27p9I)O`Gi`22QwCwA_1MhMqSKlOaC%R_a+NzISohM!5) ` z&v0O+(U!j0rse=crnl^GBANYkP?z>0vnD3ubsXCczoKrjq8S)F2PAt2>hvAIJ@YAg zx_Jc~tzo#TH_+P~V`8@L-yJ6pKP6PZp5*XHTbra6fQ)T~2}Wa&u%ngG>F#{DMZUQe zso*eQ`IedResnR2I?uN@H|dc&(q`h0Q0`Def$Z7P6$>fdg6CF%O6NOaUIjk$`~|c1 zZJ(ANqz69VQrv%2K)Xvc=f%54$902_!r)6+Y983a0Nrx;Yv}2^ct_33l2;%QR^X ?2Lnf;4Kf67@DmPc4fb|5wv9g`q6lVqE|MO*r85*yR$XHu}z!PBv|G0)Fp z6wr!{110ZDdc<<>VOFw5N8`?fH`9Ppu@*4NdCX?RTI5F2Qi_6P2pfVEj6~@LnwaAR zeu*@>_s|nas-yWRO!xDq>b=Y1zEv7}_~Q+w+Z=O3Tspzc;}WA%f2r+fN}T4lT}z8$ z8d`G^B;38rmB0m4QlIg>k-FNV$Re=|;Lu; 5vNaiu}(_eoR3LhJbniAcG<5p35gCn6Ao;D;- zR~4BTb6dtMIRbx@L(3vC@qzyMbOIaDi+DkuY&{Sg!c(SzVXDJP&Ys03&kTu% #*O~k!JJMPJ$y^*>+a|5UYDN47g~D}x*NI}yrt`d z_1Q=1QkA2MNHHeag$>4^pN|}@*OxC$U*3@Ag&ILK@eIJ(iepx9l3-9qi&p@}P@@Zt zFG_Rl2jS>iEnLG7MYtV~8KBI7Ah2`Ec};VvHTq+r$fTDG-pIcjLEo6y2R=Xeo}RQ@ z<%)zyZL~G6N(Lvb_p6aq`^eBAsQ=0Tu$pWV1p%*b*Q=>oB{B-^zial=hA4kzQKt}g-&B^Q_PW7%)q;t1h;|M%%`4w*;&&Z zhgTqytkh~aP`1F;gUE&nuC+$wLO^BekC&baIYp9 xws0xiKHwbw=sP~A_F(*?>T;;CP4+id~-`z6>mBYBEhoFuieFkC)&$iU6 zB0Lufq=b;(OKna_(jR6yW1c(y-5JLz=`Z0q4WSG;!>D}pSei#mGZW)_r|P%&9T8+J z`WJ%{`27YKN{P=3@#yA_cunb1HCVJBA0V&-F0c)plX+|+l6>4r>ol7q8?VjYS9o2; zP3SvF(*U+Uk)DAAME#y>pG>1jGCbU%Oughz>U2b6p@JruZj`~Q-*&pkaV|JE7l5{@ zIQiSq f(e7iRd$V)&8Cm?_qe!#7O*FWWG# zH6x-AsDx8)k4X@pFMW8-!|D&ecf{255HX7*Bd^+dS^Hp(euFnfwWqKZIf7Cij23gW zc_uqjbJ7TLKWAYg2QTX9StC~+L1j~2u?*4k^s}ph3B^v#+Zd|_deDrMhh=n9Lo?-D z6`GSTU|b}&>!=_kjFo^tdJ+-rHz05gG7{$QKtcfv3)G`E1-5=zQu{7h2VR_1RpHaR z&385JxPIJJQCxX(y@OokyPp6Y4|A1=E*=zM=%9=v?l?JMs7{6EOkXeap0;<8p1pi3 zc3hC2SQwk{i~OW>dnVEOt~**1L=8rOee~L`zc4~TjB$K>O$CiGnxZA|&9NJl$8Z(rg7ZOMQc&Vs8Hgwil&;*1E7lE!J|Kc+4Z4RK;?1>`WDX{pe%l!H&J&j|sn z20xh}b6aUnSr&s*L<4a;CGmo(mNiJP9M41K32C_%GBi8yvm2dZ=Z73C9ahD?PRu1f z9QCX19*qnbmMWwr9fpYQ^{d9ZCs8BeSa5)js43mOC^ei8^LLOAG=s#juU2te`I{Q= zn={-7sSgeHH;89c(sRywthHh~Ds}jBlU9M02%zN8y|_wHgFgt2GO4OBy9_+=Utl t$7644;N7~D}! z!}fjZ$}HVBuwwby2P5lQrgrGLNy&RO<5u|R46zC7i+3e(S=vMQ5V0Xb8 >VEhc464-=2rk% b@F#Cy!BH2UnY*D;EO>u{jM~E!f0Z1`hurTP^vMLkY(_phk?@1pQ&~?!T8noEk zSJKPju9xPd_fJG|@_3{n;_KjGSikPe2cOt%%;3NJeyPTKFCHuRqo+`>HXNxvAVlg^ z2XTJDRy78UTDNv)%=XTDCaiO8cd>vye0l&AN0LZ6%%bemc*U%yKF@lKUke_;zrD^U zzS6sF85<2(Zd;jA+ca!NMMfIe4tJa4uUHgVqjrYSo9buOHx8TBQm=AHJ^&==wh6~m z-$8~hjh~q @%1XQ)s?+!jpeoA~nR>e`vjdg!#>y zMa&Gd*y+Z7z=$>3t2CzUy=2!Z@= }iY~T&h!`+tfN3Euh_G)`$su>m zTR8Yy;vjCNYpJ#Z@MY_<^wBSS4Li+fEs2HC%SJW2F%@jJhkDA5;XeoMJifYaH$ piTHz_aPO+~it=hU$-;(CQX-dY-%?SaVJo;$$8>MSCE+De3d>`hRwpq|JA_ z<7OHl`T1?*noX3r7Ahw7@x#yOSoz%0>x!G?e%}Q~AnZG!>zFbLTwwifaG4hfE4jLt zbDz1%`;LLh=ooNE%7LQy3sq1gyAj%Al&yaqhrZJZRCqG5?1_s$Q%6VwKvw1)9sKOY z#tbxC{OEyg(W+p3Luiz9TR6H*tXWJ#>9{J}qY1&`WeAi63QXASO?x3k#~$Ze+NlkG zPG@smLH#JRGJEgO6hF^IPY6qPhP=cLo{BCPR{}JZG6`6$R=fo)quxgR$KjlRW}{4A zl7^k#4N**=AdlCefa)pKMM`IP;cut!t1bzw3yS3jOPsY#ZtudO^GZL~E^;U2+x1d# zQ^INg+=Fi%5vw?Ky1OfF=sif%K(1G!q1Fbl68oO9KV%f |&C;JzBI_ zeP3I7XKV59?z!z2$V!3VXtw1P vSoF9W&&9(&lNMRC06(6?l-SOy@9eDa| z&OC%s9m|wC6EnSZD+|>jap6 AH@%Aw;LA z>iJnq!dK7eo15at( |D#`gy*RP?LA25`jW?>w)IpLYX)QajdOe#-%62 z%S_oC^nS0$kIusRYm+e{1GO`3PLHv?Dihp_!g)Gr@0hW+XI+S~P6Td7=cdyfut-M| zq$c{zb}KV+xzxJ0glmNj0JWOhiuR*Hg8EEqb%Q0gq` ieYjwDP$!t<2%VqRat^UN&?*(rWAli0BW00VRo09%5FAFGHL#E3W8Kj=AhW|Oh z(P~C|KuZAI$KlhX=q`jQk3>nhFR7Dx+{!y0-d>;ZX<*( c17ytZALq$ih_%9v5;7m)cU!V^6Qh=uINF>6voRXFp3o{fT)e4_TvJHe zrV%1MKhyU`6`T!vwvH3lytcY3r#0rdW-R->lSvKT%<~xng97B73DXCcNT@t?LDnDz z>)Fz%c0u`HmSXNWKQdg@MLzK;@R}gbg*vys5| ~puQSh@oeZvxZN=6E0en9!c zCDsR&c5H>vE4C;nF<7(24h7()2R*4j(YdwMi~JNKmQF$OEpU|~Bdr+WsK9$>yp30I z4f^P~sCK;C+`FPC%f}TNGBu*4UqDHpxE#&=Eq~Vk=@>`S0gEC1+h0|+6qwQsD9wR3 z?McqsCcUik_@xc*C)Fy;<%so8)h*rk-A28QnY@kS8x5I7$XfvgxsYUik}1&4td8GT z9>t|i54G*&>-!Lb%%O7li0NoX&J4S(2(39E=r5( o20WP5fDyZVZS7;Ypg_}Dm9ml1f> zVT3tg5?D)g&=P%_%85@9xJbcVn~K@~R(JdP%U6l&lj8SEAssg$xCVmfdBU?`SVpTn zh?yNI{V|I6#GwMwJOX6L+D;8N%O~lIn!=g$8Hw!XmWE)4iiKE0Z>#FeJlrjzyw1ry zR#ZXOmBHxquPHYf6rlRB11=+-jK=dJ*ouXiO}qU-^2u_QN1@CKPuni8G}6kl7T@br zj2K`+zZ`h;RDZaawtc1mk$RGKu0!=ueREqv>dtdLvd0;L{fYLXdekE1rq8Vj&kBUp z`c+mgpp~9gX4_u@FS92|nmH4Qw5$N!iBk%`>T#a2_%RkI+%*~y`oFmKjP+NIgBUG( zVQ*#NdQ*7gE%LMSX+;7f?RqtgTqhJ15t8ImWej&1%VKM(%HL^LPK7zJ$styu*yKA*dqK8C%uRNz{r^36BfbMWYorWfY z2vx$p@_i{7V0n2}gSY~dJ6=D{^chVk7w018*B`fF?1|SMoD3??0)$ll5d%|*DZ9nE z)&E2B?C1_l(n8L3oF8;C;JykVNcpv=G9vuud8l2a2PF=I>@=WHr|UGAjfh+!+x=R| z&nlv!iu_%NX=AV-vDVx55^0%*!3hSfZnOQ9wH;H##_UYHnYqUtFzr zxOG3^=@W;htn5(EdE!wH>Qq)q!$700gQQNB*M73*2X4^A53~}p5Sd=<&8JV(0tNIR zQi^V69i}|c_WYcWJh1g%4RUI8*hi2QmC<)elQ}TgY3-10A<1i;8Lp!2`Rv7V8$`;p zWyM!;XF*G|s{^TUITlbyKNwi8?H!Fn)JnJ_cm0LST6!S>0|i!_xYLOsL@BKbg@*ab z0Fr_bC^3SBJqU*K&TbW>j6Xkdz!sU6RcD>unIbussnq&MkOz%7Hx=Wmvg3tf3ROAF z;^q@{Fn&xNW0UNu4Fv|^?*X ltoqius$3=WuLay31!i?%G~Ykw_uZYPK8o9vH8rd^lX>a;u*OrU; Qs0*_clEcu+joj2+=o3lTz8MxKdOZ`wt%0HIGmtXU zh~)}aLp#`hox{G>V|j#(IVxudtYoFU#Rp `)n_x zhm6ZYlZlU+IimjIJh?m17RpfInguNr+s@<>TH^4DSvmAr8X>thwSgQL!abffGG&a( zmgIacrRaqc)EkSv=AZon{I*k?RjEJ!%-VG@4;`2)D$c9?@IRG@{?cD}bg zFGH)I&x$>lJ&)>mEkT1j{xA4;>1?o9J*~@Mb{F{S?6H!uW`H53GmA#+!-G@5r$|dV zRIjUOZXWLQGA+t5V{C!(DLJ?;rn89ukft=|Khkh0-g-?7m>C6a0l&5BmKda@)ToL# z0Qs-%ZC$h{3ckq=>iD;}SFmZpo}`t_zPV$$iZmyvNG9@8=*@+|ci5Wo!LWc9aaX9; z=3OQnw?*C^&%eEL0Ox5WMf?;fEv(N-<`3)lLxMou)W~3xfwhjTH@24h%l;lfPrRAA zI)|&tX&>}c%aI1?Ri@O%f^np07RBU_^k9M+vgO}|cj-_v!pf+z`F(snxMt5#Mzxb^ zLy=_OoAszr_)XvIpzqjIa|+@hD2Okzj`c$_EbBh)UPU&x1z~6D`0#pC-`_dy^PM+} zNgc#EEpu<1k>njdQhI5JhvH}CIeJPz5R=|2syEFKH(CXxK|_w=`XcO`KA;~2c~gxr z*xWUiAUf#600P@H 8MwK4{wm?{EexQ;^(v2ay;|cooIiU(b(YpviQ={KHI_ifh zIO4@#rPCFoY5~r^rtF&Gp(fB?Oj6a>#PNEXU%(DPpQvt3Ej I$u z-IfA)_D-^3bh2GurceWWF0=}qRnZFO)1z#zYC1f?ao7Xs=)GN!9fwQ&n~p7!NG+UM z>8T(_D>!OEu*Dx9DFjJ-;h7LwqPlIWT4D*7_$1fp$Sqz~Y}-P)m8^9a)TP4)U&Pj@ z&=fT5Zj{50y)RpM)3TQvY6_q%;s2)`()ph1Ky-up+i#0h+&$;nOAD2%x_SOt5Y3*P zt+E&wl&&9ug@0(iJm#chojz!wV6`gKQ-zI960gxos{>E3x3*wcq^`%Ni~OP6O1ORh zk-j#9y_q5>X!qJwrYgP$?22RF9AY@tqs;!Os*+8hRgA4%?rDv&E_#XvvA;u8pDO4C za~StBH-%)>xplS5z)q~)-ERIPv_f;0-jOEb* ufdVe z>6(26Xz<7on7=h>phmChGHCCGnn|#EAjm<+!g&bgV~Ra8xCjc;P)T2%yTMIcp2Me9 z$}deGL0o#5_bxSoRcjeZ%9BWn)7e|2gy%O&QoUVd=q5|vRbZoInh+z2sx@gpJLf>k z2paj!FS2|C{F|A2U$r~;Fp@~)VvZ~gkLPYLZ4v(Y{4UxF$z3f4=$)cb zbd>6K8LC5{Xd~+pOnc$}nGAPfKfAN<;L3D$Iea;SrYPDcCr_Sm^(-%ah}4DEsMhll zdB04{6!=j8PzN&Wg~oTPsWwAU#OTCXe8gLzC@xo;OAj%iO%)i!dScOfGpseD9!;sc z_WqnQ6Uaj^AH~=j` ;(u=_n~aDrm0kq1^4|KrtBls$BgW>YS$(Tl$s0NS!7p`#Uf7A&y~0 zSI?jb*;G`QD}zU$IL|5ajgA $