From 9be2d2daba86b954d67d92cb918e12e449d17750 Mon Sep 17 00:00:00 2001 From: aitest Date: Thu, 5 Mar 2026 12:25:29 +0900 Subject: [PATCH] Add frontend/backend analysis report and DOCX export --- analysis_report_content.md | 162 ++++++++++++++++++++++++++ generate_analysis_docx.py | 30 +++++ 前后端功能与开源可修改性分析报告.docx | Bin 0 -> 39009 bytes 3 files changed, 192 insertions(+) create mode 100644 analysis_report_content.md create mode 100644 generate_analysis_docx.py create mode 100644 前后端功能与开源可修改性分析报告.docx diff --git a/analysis_report_content.md b/analysis_report_content.md new file mode 100644 index 0000000..ff3cd48 --- /dev/null +++ b/analysis_report_content.md @@ -0,0 +1,162 @@ +# 前后端项目功能与开源组件可修改性分析报告 + +## 1. 分析范围与目标 +- 前端项目:`F:/ips/node-test-mod` +- 后端项目:`F:/ips/java_test_back` +- 目标: + 1) 分析前后端主要功能定位与模块职责 + 2) 重点分析前端关键页面涉及的核心组件是否开源、是否可修改 + +> 本次分析在 `glm47` 模型下完成。 + +--- + +## 2. 前端项目(node-test-mod)分析 + +### 2.1 技术栈与架构特征 +- 框架:Vue 3 + Vue Router + Pinia +- UI:Element Plus +- 图编辑/流程建模:LogicFlow(含官方包与定制命名空间包) +- 构建:Vite(并保留 Vue CLI 启动脚本) +- 通信:Axios + +项目路由显示目前核心入口页面为: +- `/` -> `plan-simulation-modeling/index.vue` + +这说明该前端的主业务是“工艺/产线/计划仿真建模与生产控制配置”的单页主工作台。 + +### 2.2 页面功能拆解(核心页面) +根据目录结构,核心页面由以下子能力组成: + +1. **Diagram 图形建模区** + - 文件:`components/Diagram.vue` 与大量 `components/node/*` + - 功能:节点、连线、箭头、图元、图标、路径图形的绘制与编排 + - 特征:包含大量自定义 Node/Edge,实现行业场景图元(仓储、工艺段、生产单元等) + +2. **左侧建模工具/资源面板** + - 文件:`left-sidebar-config/*` + - 功能:不同建模域(如 PHMM / PRCM)的图元选择与配置入口 + +3. **顶部工具栏** + - 文件:`top-sidebar-config/DiagramToolbar.vue` + - 功能:缩放、回退、前进等画布操作,流程编辑辅助 + +4. **属性面板(设备/连接/工艺属性)** + - 文件:`equ-attribute-config/*` + - 功能:不同实体(设备、线段、仓库、关系链接等)属性编辑 + - 特征:按类型拆分细粒度组件,适合扩展复杂业务属性 + +5. **生产控制配置(多维控制)** + - 文件:`production-control/*` + - 功能:区域、线、段、单元、组合仓等控制策略配置 + +6. **TOB 生产相关页面** + - 文件:`tob-production/*` + - 功能:切批、仓储生产、单元生产等业务规则配置 + +7. **API 分层清晰** + - 文件:`src/api/*` + - 分类:生产控制、工艺路线、TOB 生产、仿真包配置等 + +### 2.3 前端项目总体判断 +这是一个“行业仿真建模 + 生产控制配置”的复杂业务前端,强图形编辑能力 + 强配置能力并存,属于中大型业务平台前端。 + +--- + +## 3. 后端项目(java_test_back)分析 + +### 3.1 架构与技术栈 +- 多模块 Maven 聚合工程(`packaging=pom`) +- Java 8 + Spring Boot 2.3.12 + Spring Cloud Hoxton + Spring Cloud Alibaba +- 数据与中间件:MySQL、Redis、MyBatis-Plus、Druid +- 安全与接口:Spring Security、JWT、Swagger + +### 3.2 模块职责(按命名与控制器分布) +- `business-common`:权限、字典、日志、监控、在线会话等通用能力 +- `business-core`:仿真主流程、仿真项目、任务、统计、结果分析、记录 +- `business-support`:基础主数据、工艺定义、日历、BOM、PHMM/PRCM 等业务支撑 +- `business-mansch`:排产/调度(FIFO/FEFO 等版本) +- 其他:`application/config-*` 负责启动与配置 + +### 3.3 控制器规模(粗粒度) +- `business-common`: 8 +- `business-core`: 15 +- `business-support`: 42 +- `business-mansch`: 2 + +说明后端侧重点是“业务支撑与配置域(support)+ 仿真核心域(core)”。 + +### 3.4 后端总体判断 +后端是典型“仿真业务平台”的分层多模块实现: +- 通用安全与治理能力完善 +- 业务实体与工艺模型 API 丰富 +- 可支撑前端图形建模页面的复杂配置与数据回写 + +--- + +## 4. 前端关键组件开源与可修改性分析(重点) + +### 4.1 关键组件与许可证结论 + +1. **vue** +- 许可证:MIT +- 是否开源:是 +- 可否修改:可以(可 fork/patch;注意保留许可证声明) + +2. **element-plus** +- 许可证:MIT +- 是否开源:是 +- 可否修改:可以(常见方式:主题变量定制、二次封装、必要时 fork) + +3. **vue-router / pinia / axios / sortablejs / preact** +- 许可证:MIT +- 是否开源:是 +- 可否修改:可以(通常建议“封装优先、fork 兜底”) + +4. **@logicflow/core / @logicflow/extension** +- 许可证:Apache-2.0 +- 是否开源:是 +- 可否修改:可以(允许商用与修改,需遵守 Apache-2.0 的 NOTICE/License 要求) + +5. **@helinda-test-logicflow/core / extension** +- registry 元信息显示:Apache-2.0,仓库指向 LogicFlow +- 判断:大概率是对 LogicFlow 的“企业内镜像/定制包命名空间” +- 可否修改: + - 从许可证看可修改 + - 但若该包由公司私有源维护,实际发布与版本管理权限受组织流程约束 + +### 4.2 关键页面组件可改性结论 +- 页面中大部分“关键业务组件”(如 `src/views/plan-simulation-modeling/components/**`)是**你方项目源码**,可直接改。 +- 外部依赖组件(Element Plus / LogicFlow 等)可改,但建议优先级: + 1) **业务层封装扩展**(首选) + 2) **patch-package 定点补丁**(次选) + 3) **fork 并锁定版本**(最后手段) + +--- + +## 5. 风险与建议 + +### 5.1 主要风险 +1. **自定义图元代码量大,升级成本高** + - LogicFlow 主版本升级可能影响自定义节点/边行为 +2. **双命名空间 LogicFlow 依赖并存** + - `@logicflow/*` 与 `@helinda-test-logicflow/*` 并存,需防止能力重复或行为不一致 +3. **历史版本目录较多(an-old-version)** + - 维护与排查时容易引入混淆 + +### 5.2 建议动作(可执行) +1. 建立“关键依赖白名单 + 许可证台账”(MIT/Apache-2.0) +2. 对 LogicFlow 的自定义扩展抽一层 adapter,降低升级耦合 +3. 清理或冻结 old-version 目录,避免新旧逻辑交叉 +4. 针对生产控制与属性面板建立组件测试(快照 + 交互) + +--- + +## 6. 最终结论 +- 前后端功能匹配度高:前端负责“图形化建模与配置”,后端负责“仿真核心与业务支撑 API”。 +- 前端关键组件从许可证层面看**基本均为开源且可修改**(MIT / Apache-2.0)。 +- 需要重点管理的是: + 1) LogicFlow 定制扩展的长期可维护性 + 2) 私有命名空间包(`@helinda-test-logicflow/*`)的发布流程与版本控制策略 + +结论:**可改、能改、建议以封装+补丁为主,fork 为兜底策略。** diff --git a/generate_analysis_docx.py b/generate_analysis_docx.py new file mode 100644 index 0000000..0d57717 --- /dev/null +++ b/generate_analysis_docx.py @@ -0,0 +1,30 @@ +from docx import Document +from docx.shared import Pt +from pathlib import Path + +md_path = Path(r"C:\Users\ALC\.openclaw\workspace\analysis_report_content.md") +out_path = Path(r"C:\Users\ALC\.openclaw\workspace\前后端功能与开源可修改性分析报告.docx") + +text = md_path.read_text(encoding='utf-8') + +doc = Document() +style = doc.styles['Normal'] +style.font.name = 'Microsoft YaHei' +style.font.size = Pt(10.5) + +for line in text.splitlines(): + if line.startswith('# '): + doc.add_heading(line[2:].strip(), level=1) + elif line.startswith('## '): + doc.add_heading(line[3:].strip(), level=2) + elif line.startswith('### '): + doc.add_heading(line[4:].strip(), level=3) + elif line.startswith('- '): + doc.add_paragraph(line[2:].strip(), style='List Bullet') + elif line.strip() == '---': + doc.add_paragraph('') + else: + doc.add_paragraph(line) + +doc.save(out_path) +print(str(out_path)) diff --git a/前后端功能与开源可修改性分析报告.docx b/前后端功能与开源可修改性分析报告.docx new file mode 100644 index 0000000000000000000000000000000000000000..1091cc70c6cf9c5f1a3dea2bab2880c625be1b51 GIT binary patch literal 39009 zcmagFb980h_AMIQwr#7zij#^e726ftwo$Qd+qRvG?Fx77yj|ZpzkAQQ?cMkOS+lh< z*BE{DKId9CU{K5Fc%G8 zd`}GNoIyM0>Q)c~)ZSG%uNQW}4`})Chv52GR{I4B-;!dhV7|X6FoxAMta9h^vyr4^;yfGr zAVzCzP1|@t5s2ONfUfa(c&w$i|Ji7Tz=1Nfr3xs*#>EZbl&J^MaFyz%Ce5g-KzupR zn}*;!%knNDmD^%+o8Gi0ktiVTNcrU}1?|kVn7+~>Gz~Yfb6J4wq}!#iUT~H%Of#!n zMM$DX&H*5)_n-6534E}i!D0(4=pgmRKx{`KK2sI!ADM7{Oq_@25_~EhD)l_KM`skP z@f+1Yv*MJ`0iWyI=(lw!8Zv}@|I0Fb}g0gEogH+_?xJ-QZxsn;WMPS7${?{71 zQ^^Xy0@rQ}3Mr_sI;hpg`?(D4;rwnP*(mk=38-imhZwdHb=Z zHESe%ld50y_EZvMOeAYvPTM^;GHvdd`|=P$s|6=hS)s{-kRFBDg{E-v{zsx#n*_%W zLopoPw9b;LIrb!19nQU$wPCI!4wG0Wyyd&8KyIkE(jbe+veJ#BgLqjA>K*(Y4Y#v5 z3yqxgmg41n+Iyb&lkWMOeoMJkOU9TvM8V(# zV-Yo9Xr*P1XxGA6BGEL*U3C^5jtPn|d+A2Ok}xWCp;T@eiS(MAcvHu%z@*)i9B_5+ zhLkH^=dcxDzk>tD4A=kGC@chC*$TMN=YSfa0yQ$WHBxl2wR2=PvUM=|yUVlU06o7S8&B!7_lHjpZdzkAB#wOgzT0&vp4H`~I*Tl3isxsKIQ~?i;Ny2<#P-T`)P4(sD2Ujl*f@sc=m+ou z@@Uevz{(*%mA;czm}*9+lXA#{QuO|Vc%x-xrfPEfy_1|LNk79V_Z>|e*2z`>-YVha&I z<2!_a*DqgF->}5c4Tupn zX&2Yk>{1h>Myos&3AsupEk{OVdJ1a_H2EhZ^J(_La#o_|Zn>4FK0y9^ZzyH{S&jg1 ziuf=8dTd>79gLZQ&#tpI@QnJqIWDxc)YjFLeRA~dv5*s%jB)K{=>{-Ps|)FL?qvAV zWIT@QP@4@G>lj-YMA;PB^lSTCf;w1H==`LqSK?4ul6yZXPYA{oKHwW3c>8&hLU{Uo z(w3M>CT;{@&(B;Rwq8CS6}pHxC`Lh*ZtitYe_HkgK;$SpgbTV}CH3&P@3-1RLSk$k z?+L^!oOIoMgVBC|pYnb6X&s^D4b<%`$t}^1Wu9d}cYSC^po{1U-3OZ%>6?IF>&#b9 z2Ael3nxb{*Jp~xe(b^5fpYQRle_1)kZvYRe?hBy8#;Hqr-Rz1F}6YXb$G57J|A+<=)0ImCbCmB*0k&-)9W3}2C!hJJ@ ziC(PSfYKqj&%*v;mVl`4%;~_q_zauGg>Oku+?hfA`+=m^L85>>7Jnz1Om}bYiBQ6N z%lF%x@g3S<@Z8!Bs|LQ3kB5mL1(V2;f{(a;9xJYO#O?x7w~@3ijmvqcBuek%0t{a5 zN3_&U!`yGy`DK{ZuMYL^1q_hyW{ZOpN@uqMW%D<%dg2qml`ejRr5GLUl3ZbH#x1Wd z96w023GJYIXoY-fM^!hTn7Rt}grZnxf4VC1B^tfk7ClUp6dn)|?JQ|IH1iLoS)S|P ze9Nv76#b;(w&#dZhP{>R?sWOdba;JG&go%{fu^n|&1zy{6w(}<;9ihO&K@c@wKvM6 zA^mF%@y!dZls2(=l4hZ)t-ba1tz^Tgk+j(l6Msn7Q-aih>2P!++_!ta&2j@1e7q`m zgq-I1qOE;5BKxvuVIcei^1A1P}_Uc+GUbxb17 zc$&t(-HRcv5-U{Q%O06Wo^EfB`;x`G%WhS#Mw&G%_N?z;d{h(nZK)PV^QAOq}6>s+LN z508!eh%0=$DhlhI&;@+e|+Bk!o$W}EgPEI@GwVbv9QUjO*0m`;^HvW@@d+Ip-mQ2y)uTRgY@}`6b6EfGjS=|Ii6cjg00>$H3kYC$Q4Z^jmzVgUx5-qK0Tq2ykPm< zqrKFvIXkG{Hu86EK_%9rB6&U2j2cDa^gWVTXsSMe?k#CV>~QHyQu||^^>Lr2rq_KT zn2Zh*td>}^nMqm$zpz78+1M*4Gf6O~EAfUHq>b&3dkA7OB->*D)Ta>*09J3-pbK($ z0}=OW0u#RI!64>iT<#uERh_SaBTNqKq^Qo=pNOu+>HZ_0H+}NZ&l65*o#rl{S4%Qi3p0!ZX z9ta!T^v{yG+z+tI+`tM__O8M!B?#|qoUPu7p)Co5DP>w-^bC%FJHZsNmWxRx52dyk zrK?IEnh(cgb6j`xz7j+1lOHHJ59rMFGef$0a*LAg{T7?H1{QN3$av~V0oX%3uN_pJ zTj0S8S&?Y5l6wPJ>@&c4$9;HBm|*;IhcjK38ct}*2=$On8$ZOq-;ghfV2u}R1v;?! zCVdHR6}rY7GqZPH+D0g_TqwBULH(1E*a~k%Lu(xxpU10LgLqhq6_UiTZIR@{GiW4& zoTNPnRM&-va@%NbljI&Rm`8rd>O)P9)WS9<7g}h$Bb4WECuRMS&I2PeJEFEyVrPJRQDPuiiH(puh7Cpkr;Ta&8XwaB*s}9@S%&7)C7e>jWDuRl;5gy_ zJ?u1HRoo!dNK}fz_qhT@wEXMG+(0!94FVXtugX>oErtYgYOdhfY7DH{5Iqd?fgA%@ zQ;(YNFR2tOieAV zdS_I0X~>XrV{zCHF2B5u&_s)^<#=)xv3Z@(#F^0e{^Wyk@W6x#bB9EN-Em-Vz;FNC z*Xa0f#sOla%=Lx+sWosTTN5scxUoru1HXo9&?a0-l8K4#`qFT&V&cB0GF);B-G~GdRw_P6`??)PsH(&>V60VDBB}yb&Y#WT(5Tp zw{-oEUDcut`)RE9?->{&6)i%q>>WbqtUTm$D-gXk1tYvPxhxEoa^WMu8c{$n{TKcS z2gc5vnX8I?eS9MA3$0YdDWx8A=V^CSv|j|(~GwlgO}yPkK9&()xAFu{@y$!@-xIC5#MES^eZ z#L`S3$z=fXWZ=Vtj279lNHp6G^jW+s>~mXL%HNoHp;d9hQlY6`%Gd3leo z1gUUq`dMApOV{*hQEylxrBxdaK<9Ki`{+XFgcu<~LJ}!W9~=9Y-RZW)pxf2SyhBhZ zqtM9`p)tLNJ2W&ELDaV3dMxOAT=M17ACn!=Tmlp^^bye-2?Xrw(Nm0?QOy3FX6NUH z+;ZE(^h@#@|UzE!h)r#uxFcW()*)VZRGa3A0?+Egv;sH7Xqan4P&Zn zfqZ9GQu7Xln+v?t^}pfi#eRD%X&Crpk)2olxI0l9{2HN?ShO8LLGN)_(7us)W2C0l zf*9BhC$uJ{F}iODTJxf+ihWZ$Y$%D@{ly0%T8UhG?@U0`cti`?UH5^@z|pk+f&4v}2u5k&zr&Qyjwaq_y0{B~)nxEaA39 zMRxOVPg+ju#}RvHx+M{z+Bh$?Mr+}pL-5Jut=WRXR-}#)t-)mk$M`)M#uRvjYIvaO zU(nop#E0W6IaN1VeVRnE(DXFCvD8!Mb{`?YKj*~-+G#KpfVnr>>~dD;}S zrRs@jca{th(r>?zo~huF7}8o zuY9kC(ckMN@s2?BNsyK{P_yX*kfHc8%8H2JIvo}5oSK_HKNYc%LiIfx_Ky%q;ufF{ z52G}ZynEYV_|{q37K~129*OTaKf*ic`5^U#g?BtV$nPtDC2xJQz;roc&roRyE|@Q1 z(8AlW=8n#wAjRSpaiWbkqy;G4Y0eo{?urb4p9X+WK-5l9Vw68n``B4 z0$o6_tL1Ho9I&;o*EbcVKra%F@HBSF;!K~2G|2RdfiIZdFAjBJZ!s+%))<4LK9;kd zT%$FE1jRw-_?Qo2 zv*twz@3-^&;yPPo>XX-mNmpY`y1iyW&_&@G>O$L-%BB~hsU`9>*4fr5iH2`{biDz- z!@Yj=qV4W9!K2$OIGM!-Mc#z26IO9g_Pez325MUn&#WxmgrXs}YvY@-<(WCSLy!sI z?+gf9vGEK?ll!+{!ORO+5HA=heCoSe!aONll1Noehy}vpgrv61Of6E_4E^&ryFTtz z5cG;>1_$hP@|03e5eI@^q?39d{4Q09NqUsykt~C~jf-x+oxgwkuN=^6{gE{^Dk=NJ z0*~Ls(x`ScfzmsF&yecr)z4rmO(D)^J7J5(v;@uHpk0v5D$a6)A}SesJ;#(Cqqb^r zE0pQ%C6!@-4H3T<2rEBq(I9z|zF48&bM}4xq(;QF$_WMTJ}2c->s6^~0IJt$mvHqX zDM@4;-M$n_>}cg7>gxtg>F>cU>_=&UfPB>c!Iv+03#ja8ZWuKs^d3QvycDq$20h?T ztGYrHe2w6MfJ&RVXYb4}6z~h`IYYaM4tByw!x;wSSz&FkiCzY^kn#-_=}o^4?E?&Gra!qO2pqux1)X=)jB81Cwp)Mhk%x%tjA{-$N8%xQ?lHg@n! zNfB@fv!~OkhiY6KGSq6HsQ+MFmcfHrCJ87+31J{k8`w`TlPkazCpU!>=KImV%agWF zdb?U*t}!wby~ii-<4(V6UHV2Aa2wi`WeTItsVwrX@Lvpcq^Yrdm=8@~yYdfqMnz1G>X%y- z0otrT15HE5Yq$LLBBDt*`SCZDT(=oy`ixdX9prxNY|2$tZcQ)%H}`%T4282Gc9n0k z=tn@FVHLcbDtA8zo*B)4jOsOFjFB*Q!q>(15G3+C%DW8f+n5)Rj5komYe0UJ9N1_J zRCNZ$3t1GxcZt=GBRnUSggeAluK{~mYb)l9&7H)j^T4|y$^Cj_A460JkB@JGk1(lY zA{=Q-RFywM^9^is0Srp(L5z@>+7$w#3x2Ee#__h;r{caeZj%w%pZY! zy{1L)s@>b;HgD(0$!7KC8R7D&mX6Qkz^C}Yb%d^@nVIVse%_V!dHV|q*DtBi{C2US z&KP6c>+^F{M8CuzbAci43$lC&;xNQ-vb_;SE6lc$;5udFJhi&d3Wr=_*Y~0Kie1oYSJ#&$q)Q((q@%}bsG2Ez$e0SUVusIkiw`g z^HO6qGuPL|bqfR}Q>n-f#sPd}AAN7^ZcX;BZa_)#?lkz03OGP(YFWA`=TqJQ4#`x% z3YiPVku}ekJ5nj~O_^6^A1WhZ+%CCaL%E73~NASG%D~ER|#AEU>ntoi> zL$KmT7n3=;)(*{08><*IR7TJzAFShjG~hRJ!Cfj@6S(mylag68iX|VgB?{xNPj%WS zhu_{W`!0Sd0Fzi8#BBGzb=|*M9aa-v3jCdWQrLOBc-)G6hwnG~RByRT?HzO)7o?yr zltaU3Kz!gL6(*t3rmgi8H?$O)6(3CmvlVH_Y$JGIaKKF}a82y%93b;HvyS3w2$QjN-5ZF_S2&Q9bHaYHK-n2ZZBGhOHQ$`Zp=F9g#fb8HI@4*&tzjSX})VC>#tgtEK>M7lxI&L zzwz8hgnT^Z#J~7%+TO_5LtREpZRx;xb8e5Ey^jPU_IRrg=lHBKbPrC%zCH_f_e{NL z4(EJ40hX=nSE*imE^Vn3-u6bGc%Ml%nD+1AFRq{Z?v?AKK96a2KkFh>u9iOuO`4Ni zT30%&A47M|0#_IZY9gN~n>I39kk8!96ZGbpE9VuireDUoKhis6kL>amEnNVgF*-<& z-YWMu7&FSmJ-A#h9H zyao(ELZ;pjL!a@PZn^o7Y@m> zri5C?>g(uROtZ^u-Q&XUf%V%xQUTz3N&iG44-J9-x_>Nv>bO1}JHP4X#O8zMqRt$h_gh@{i@5xv1G#}=Qh4

Tggi%OaC*%p zVKsc%`TEqE#)JjHJ1`@#Pt3!P@f)9ocQrOSiTpCib~l7=iOXk*)ZR1XOJ%MarPI~H zUb)J{vc5Zj_35*Dp5b3MG`8ofeYJnj)a`$7>exTr?=_NZ)Eyq1N8XJa2fUO4FK?MJ zS3$lG#wU@s$;KyPw(Z6zQj?wL(rMg`w712S_FIh<(-~Ec7$GrFqi~{<^lmNF zMmT(X$Xm&SJJw@xTgjFG49$r<*0Qi$%|N3p!d5fTI05$`!=?on+*Ww&e_CS_cP^x0 zw_*l?1Hx8J<<7+@+Qr026n3&=pcizRSk3)hx@Mq=AXI$ZOjHbNW*Sr z10AFhwz7c^zs&vH^vVP+x>g6 z+IT~nBUoII18uEyTP{5tefSRRjE0H>`y{J+6E0t!MuGNbhG)Ho3}PfL9Hwryy1?D) zR-KdA{i7D(lk(c5yZ5@Da=RorG2n3PHD~wGN1Re(EpVE$AVR>cc$m^qchqJ2xpf(T z2w)Es;kc!8aeDf32vzsGo)i0J-sZ#gLo_p!%TH&E*7hDR*~QF6)W&Ue!KlbEss%eX z$p$67CA6C8xWnza#(4?7CjLHU|6WwKp~U^8$+e0=h;_`B9D}j=t9BkY!E0OV&AajI zvr%#D`y1e?jU#Gk{mxvMtK(H`1pm11^qhSi!#7Kit*+~w-1X{0=Un;AcF_?6o@?0> zj3rsAIs z(m8E!G&x8q8kMKBXd37Vod5D*)U_PHryondK@qBqk`KLrlA~&h>A58Jr@uHVud5S# z+8FH~1WYgkmIq1}gnVRv11_t7QpW;HrntI$oQKn#GbgEDSB{)>(kB#rtK|u^@V^b1 z?mzohTXD(T{_B0HjGk%Y9Cn&mTo1%Dz< zfU8r+K+&1}xgRk#VYH>eq~Y6a!8nFyE{)Y2PnWOiIh=IWWy4mThc$dCwx375h^w}m z*a@e61Cbi9V=2=trCiU+NjZU_yvKo7@>`1Fm&6`O)IruLttESNIadO~$9gbiTNBnn zL?g*E0=&awU2Z^GY45G6?{&6*_D!H5psE6{8G?3&O|Eag z{xIrKV@>%2R-t@{>z~1|=K~Qr^@2!h;`(QmMV7rDJi?O#%pVR~y^yPt3twlSZ;E=9 z2{J$SO}eGF>rD-XU=Yd1jb5=GGX?x69nAI4FebXE)t)CS5U7|_m+Xu^FM}E8e`z%( z^h#4)(KaS_SS_a{44jH$s+1uw4-TccidJx#ZuL4Gq26;}#akmjB$Zg`TB+W{xTwYWrk`z@g#owNuALkK z5{=*^rg=m?D!wIo0OSv$VAbi&u;=&@&FPXUCq{2L{iCy)(>ayZ?f#OvJ6vWXOWowI zA+r`n=5&PWuTZozHflm0o4XCj&_>e8S3T9L_D!4H2ag94yJC>bH8Vm?maY0)4yE>i z19GQZii~iwF*N5D`L#(X!JExAK4V*ss@E5ybh&+n1Lymu7Py72MUm|{seNk z*K!&wN-% zT@r>Y)JV|8;qkL!N7pDub5wzyNMJ~?twz3}h9Xs~3GlO)wy81zLz2mh&75Ij|BO8KJ22=>9r!dko zj=;6|>XuJO*-Ce!p6P8ZoQnx5&1qY0ZLD+ocTJz#1;k59BTZ2~5wbd)#1z^pd2WoE zY|LLSJXe>R4}CV43jX9y3L^Kzx|Z6%a9;s;K3y(XexbKfD+WofSm+~cb6pT$G*>R17}*m0vVb-?J9PP z7U=TzQWd|)EZ5(sPF8eEEyYkPWvqn*dmVPHmu$tFWhBpKp zXBE3{*Xea77;g)Xb)R7+8obBEVUOtu*^voqCN@t^yomi5K5$s`60b26z^}@jqvfFz z3#_ZJ(lv$07~10$T?vE+inQ^!{n(reS6tm{s7mvGRcs+Wt4#YBmtAZU;A;e#c~g(p z#qOI3i>`S*EidaM5%{Id)Mq;NQNBB`FW{GFuGo9aZQsU<$W5q`4@**iFo^ShF@Zgk z9|;z>?ocL5?yKRZZ>b>)bej9ZUVO8DG?i16LY&Z}a5Dye20(9^D*r$yvVe0b9%2Pi9N63@9m%d0Plw!3@F#2ug>(2$%+hZecw`|;gQFQL+t@&>2iC3< z&SK|r%`=d4TjxsaLo4AV=SsUzpR>E5(~-#EnfA?Q6p?#m@HCr!alVQ`_-gByVweiD zwZf3cjd|?m#|e|M59*ETK|Y1%u>h4Bq@)k6O36d3dqMB29<)W^%a`Hqj2xl&GQapg ze8RK{mo~8TxaWZe@7{1s`GP&L>IvS4s5P~@Fxpa#nJF@HtnB?5~2PYml`X^bFw#VtjRZ1&fvtsuBC+^!{px76{1hbKvx zZ}{Ui6$O0dhHI-eHmq?KkUpioVNN@0WVA{T%E@>8UVy_}m)mw-ta1p|U|G8zy3;$a zinpv^xfX5i0>iVwp9MUOPNCXt8QDp&hoBV?24PE^)jNj-)FN^!*E?dh!55F!=qYaTBF>AohL;8(*#nwj27u(_R)Kr z*`2RD?15^5ogtzjkW|ZxdY{~=$CLmWA-_HX8 z=>ciMGFJAuAWyoAz zFA?3*+C{Pws^>kWNog7}H>W?~b2cFX-tNmZdG} zK0!TObd*=6TX@APKhTgjm zMDXU+OAF2u7F?>!Yc&VbAXvsg&5~?NHqX&6DX$!@$-e)ZqBV51rT}FWMnlo_$&UBK z<}0~r@KaTi7Pjk%(v>;9p*_uOa79*ewe7By%t#ugg_Sa6j{BmBrpS4`;L7%W@;Ols zEdCP5c_c0lwxAcOyuwVAj{{3S8*eok!EZQzuk zDvpBQ)Z{~%3ab<(r!h*d3|j03`UElb=xi}az|^DV%d-2qmUYqMtmIKMEXiR{z~cR$ z8q#TD-P#~Cr!A~(FxAje)|k$Uz4^4#e4V31*1M@6!liO01pfi??H0U8@h ztc<28j20JD4b>PS0~WCE{d2d}S_TX+`)+pm-*SN;WG6zLQ^A(z3;nYueSk-!|6Y^u zfLU0mBv@R9(Ekm@3@gP|5;hes1@=L}oUnWxt8n|b!|2X&z55{Nle4eAv%h62^VwD6 z1$}C(u|8DLhfLZVJKN@bB&b;Ca-_?W=6WP=cLt5ykrzd*6|$dsb?{Y)j%M6vJl{8y zx!Y^YMt6B)e^ttwF_FYK@lUMtSo9koo*rU-4q7)~)S3KPVNRjAoAK74bZ*y6Iek2Y z^&iSu5a+!OA}?B}y*IRNg}IdbX?=;ch_b^8@m}s<*?D=HzLO-A#T7-po$9N4suz`p zgD=3F{^`97Oyy_U%w2)=lpIw1wo8AIw&`Z7g_7&UU9N;X8uVKoxo46wD_82!&P*&NmLn>nw1H)VYSzYZJH78{V}$bRAEC6rtNMuBwRp~xqmgiQ>yQDg||A~$3$uEn{TwBc`H zL{a3^$ag!E%F#f;ZHEexXOP$=uQ0BnQ9hfc00x8y21NG)2CS|joPqLJR;yK6{2Q=| z26qnGREaGgf1?}cC?;$uwcl`*y#p}$`(X$})(AVY`0+n7bQJxY;UY9JAT%%_ISeqM zYG%e$ppqQNUC>{`ic23T@A~7Pr0so#M!g%TbvVlE2=1ob*{fJEG)oT*s@@muk))!_ zy|dv%rCJ=?svyc0R!!d-itW{eeAs&y^ya^NYR=g|jSj?2XJ_};tLo$GqaM%hU|_UP z7IKKBkRc{DFlI>iu}ljtq4{vA-&5A`m43{Z4U)2J=z622+S8$*SLvLVe`hX+Nj`0* zx~D*mTG*yn+I^FU6W+i3($5=av9B{itG&ku7{+nyqiStQ*eN%)3vkg%ko^g271;yA zRVQbdF~}tcFKvoVO4Tjx)zIRl+}eY-ZzbM1$Q$mMj>s0~h&Rfcp=WiILQg#{oteN> zVoo}C9zXYY`XSj7?on+ovnni^huU7gK?KTP9-OxX@hJ0Y@8<6fXvZ9k6lpp;8Nli3 zEeHAC51Gsc%sI4UifMDMQIctMl4GadOmtri5PSK(%t7A2iKH0)#c62C{F}(}|B;9e z%kd!bhA=P7?zbNO7#~7D2gS=X(jDG`}1|sZbLOIAIPx1mrtWbbx(wPg5 zamEiy(Eqoz(Rq#)#;Uv3tvwP7gsbR7wN-I{l!3Y1C>~Rew)|mR;ES|yquC%;pNeOT z8#)@_mdLpGNm<+c+p;g2@%4S>|C}*>9dPQBohRCVwh`K-yuHmZ@L}xwO!TR}$%x$i zIIquPK)2yokN5e-`kr~gSukR7@J&KwiKo&9+3bAW@{TvI>X8lGWo^SM?ju?M#31PV zbo!ZLuGHk*51LOufv1WCbQo0luQEw4@Ff}!Jg!C!5MmtAWF&|gh~n*cS%L$oh=)uF z@enR3!3HL(%AAU1PNiP8g8_YLUZf@gl!gYW#z*4nV%uyX|zIL^?PWtD4j{Hr}+Rmd<$knG1{ z#l>(s@A`ru%aPc@qrMkxu%kMC-)vDUcA)sI9}XT!`Q%^)Av@R~|6MvIfSJz?+tw;s zKm4c`qR^nhKsu#+!Aw0rZ)2!yFg(CsU3bfipg^-$?BuU6JkU2n074d`hLQI2h50Fe z0+8KYrV&7yK7bY%G8ICp^CF*P5FX-y4J}(~hliPB+8L|Fs!rzcmu(=BtrGMm-FMJm0BlN3rp-Fj8fMFW%9Ir&Yg7!NL86qPx0os>cxs@(*cCJyjoih_)qz| z7B&G~i_7$snm-=If<|0@9Dqy}&%IrV{AdqXYjs4rK!7F%IQY`n+9yj=6iRl#cu+3( zh8Yi?i#Q4YET83w*|7Away`$LMJisSJI{PGxH)#eOQ)nxr+{I867X2liW~mkmuKaM5O8;Q9WF5v9MLN8YoaAw=6D6$=yJ+o z#h^|l6$eEN97kp2iV4e^#m;&q()Q`UyZyq7^M0ly7MMS2YKSc$Th;%ky#zzs zxel3YzJigZLlv8UZct6E!Ns1+#q`IJ^HzSNj@d_;-?rFu>2zc96#827n))i-Rcd$% znE+{eS%@*Pc5#%qX~SXSS!thKa><;keM680{u6E{B803;Jf|U83`C?hI2!ttdA47I zkf@W~E?0_X_Q%~b2<%g&AUap8-P122!buBRsfe%8z_a%WWC0nBRKH!s0K!WW+1hmx zJ+oKMV_v_|uK}kYE=iS(@L36@rJiXnU^ee&7ZN@M`+7+dmRb8Z+ux$VG@+9cfmz=} zMCDcNE|9i3^aLsx`c#fDJQ%tln-aZKbHFP`_+X_dw zH>Hof({A^nTOcFa(#3ME{~D|q8$lOXtn|XC+9A zOU?M?l5S$@rb%WXu0jHI#i?}ZMzh(T^}J`944xdr57ICcC4H`n{q&fXJ(?eP{Y8}^Lb`(_I6y0hq38eCmD zzd=(TC*#9NZU{_PA@J1g!AI{FQ|6B7YWF!H z%Ahz9B?1eG0;m2j6us1(HwRT679noD<<8Yg4;e!rK0hr(A1FHi)EtzqLQaSP5Tf5- zjD0p!+V{sui7kp$7H9t1?Pw`@bNQ6 zokX6ci+J|`Uu1$|JM?{2am0z9Xv3e)L2SaG(@G%>eGF4`@Wpl!{sn@~c=&ISHQ}|C z_RGncU{)b74Rv5bEJ7nW)26yQ0y6(VtQ{|JFqr1(IaaiK`^>r!L$s`8A5r%VT5-R= zb^ZkN0TRLcON8oQL?9MeqO9E1uN-ppjt@&9&u{m|Xir=KuWy?FpacR@{B8fD^!x;# zKX}OZvzVh9_~MuZwl-MGdYx@5+PwBZJCFm`FJN!aa@F0iuipAc%cT9)1SnaB5PKO} zh0v3PCl#V}1MJYg?fkPa?;>Dtld;%Ex$8stQb56yo^`gjL$`mY7{Kw3mFaJZA08d) z%riys_2Eg(QL8WDz(HE#V&|%_`TWeg$et}jLXwn{(Whxcip^cyqafjH?>zjuck5iL zq@VLsUnyYwn201(xx)OV(^L%jzXTsgrhMgf+bOY{71SCnX~V66{hW5L*+gR03IWUn z1~8S)L^)P$r&B?|HQul9l524$&eJ==ja3*7Xg_yHqliu#i84MLiDUpuez_PqyR_Z% z(}PNor)O7pi3jK`MJe*xG%p}U&x=hyI>nt^I6{;!PI7m!vHpKFL5p63=rZEH+vSBi zO$%4dO^vm(8r*N^y}w##GVhx8q4_+CuF>pDk_Mppgiycn@xsYrcGmPPDEBM$7V7fZ zm7ahnUMnxZIH%os7`-K4FL3Ts^Fx(eLMC3Lms`m^o$|fgsp)?|Ly@honqKX6hZV}> znoha4TN&x$gduSAZ2FRpEmhiNyN<53I}n{e0BpzY=ydfbH2IJ4w7Q2+9fgD~167 zmG1v2A%@$qS2izBoEwzW{<~%(aT$NVBq*mER%n-1QHLIARWwoVuW8|Y+vr7PWN`%= z{F_ZY`V~r}Zzqy(gRj+Q}|Kk`_r_$CCUHNnkbqoTY1X2 zel-EjC*uE878~{(vxW5Fe3cDJ6#Hlg<0d8blv#KqL=&iZGAA9lA*C;mR+yu2DaIH*A)ThmD`#yQU)j+@O)j zM2O%0_v(XI;aQkeQwi)gEJF5A_RC>o9${kw6>7FTal zvM+iuzuIYgdf!3EOrV)E@3g8LIP}_g;KmdnCs6QgQS%@P>V@p^^x32DwxWB8Rxk@Rn9PP>t<(qT}T7}r`CFCG^vL2Xiqk*4MU27Uwrw|`^n0|@rn+Z}QQ>;rQP z+E4h!j%*zR^x0qB&k^%5$)yO6Pf=bt+zX~%g6WL2dvsu#9~|D<))N-bm4%hY1ni}f^)Va6UQrl zv1Z#PH_LbUP6*EQF}CAYN3t9PzfYQ|Wp5LB*?vLtNfCO`$Ii8iY=?KpzY7szaA^Mm zPe4Of(-@ZOXy1zfrH7k}6QvIY-g|Y900mM7{98I^9js*%PSiNUFkC??ANOJEl)gHy04t6o zP855CcTKegA1jU^l=8nI^nnmKQGX%yO&eB8QvIk0nQ)_sp9l0oi0Hc149!fKQj>P! z#n9=|C&y(}w&Bp@Lbn1{D$lilE*`D~E&)$+WL3wC!Ep>z69W|YIS9pw1s+wXYaK(A zka{-D135`{H&9JO6NKF+ijDb1lF%e+MV30Yq()L3qPXZf0 zHsjr^z($ukftHHX`<1K@)&~&)3xS@>iMJy1Lm5?=GZ*D44mou$-|xlCFy z4_h%WkS!bn6NV1u2T5tKPp>7$ia%tGiq6;I|A(-zfR1Cwwly=y6f-lk9WztR95XYs z9W%wu%*@QpOffrVj+vQ$JNMrCGjF~5f7NPrua>mW-bY=kl3J=W4D-?*jM(tCShp`5 zq;nEmAkd2+{IQ|!2?C9K3VI0cnfF^TOaZXgMyj-&Z?+$mTn}ttH~3H~U5+3}M34Xw zzImElkFNl@rvRxR%&QN~RoLzgJXLt_$jK%Yyq*xc5(WHkcU)0F7%((cUl;+@a0};A z&Qbwz_7L+sMUL7WKUja52P%9pGbbKFh$usi>(B~5h2hnzD+?>-GERzR%bNZ$n`i6_RIw)ahUz7+5v<3 zQ8ko5kOC?rRUt3a+yc$dRzb0QJ`M!!t>tUtEfQf{muvxXRoG0uDo+79nvClm zLJrVK!w7sQ5#uv(BvuV{hE=GE11f7)^Q#}urWoyyx-)r);a#z#`9iq^`9L%;OvD+T z?AHh`Fi;T4&_IxhG{RZgOPe4POa7(oua@0STE$-+Hvv6Ib*p$p%|rI9i3$|qQYQ9S zf*>;x(ddinUb$XCcLMB5Z28qDjt0obXTo5VZo8 zKmEo`9e_#}dAf|?d0e_6F3{T-`h|__&v+B2O&A6+-u!`TiK)HawLW7U;~rwKK4A*2vid8@@6NPimauw{jJ_~ z@g9Fd@E2ZjL6`tk4XvW?2E{*wYdroTjPz?gyr4Jmk6IY+i`r8~68r@2iz{48ocD(3 zxA*_CE?d{lZNMoLNNBJbcMeC-yY)^_IOGjUQC_v>0UOm4TQ}Sy)*`*%)s#9sliM zW!C&ctahy+?e^6ruM4pYo8)-FIHj^{)%!kcW9OWF1K#=h(VbJrYGLHn#ha|{{OthW z`+4j3)%yK_Y8k$hr(&V)zG^D$xozn6?eVqErES3Aie=;Vl~T)+y=~&)bps=<$R%wm zYgXjy%&AVRvo0uaYwMlIhCR%%NorBY@9`<>@$77FbvCHHq3Ch@#k*q5_Ug}-_fcK&5Pa>OI@aiVS8i{$zs_q_5vr^JYn!#d zbUJ!nzEtgW?M%3LVYhc?ouivQJsVubuWs-Z98cU8ExRYJ!)tGlU$1#JN*z41=gnFy zKSwP?Qg^j1ojTAzA2M}#sQ&(bzqon(ihn)-nqk!8M!huO*^*k-mA)apuw9jU{9t^h_jcLFdzS^<aSFsocf;vEA$7iEWG8m*%YV zxaT&ZbHEqgUT;om){Td6Q_pROH#gfuyOe;R3|-vq>)P*^o?C-f>9>1E^>>pbnyRYz zFTCaNieX_BWA5JV*<(Nz&SSquS3J_wc^ z_l3Q?oVhsS6}ML6#ko0~BZ@|JdsX6_fi?neEIia2gKYz>GXM8DE$2 zYHTNL-U;s^dBqxbYQeU$h|^frVySbz)X8T2{43zpLh-4Jc0bs=>oHd#VXOGrkV*>4?{jcz4uW^M*Ck-O6;55%h0rcXzM! z^BFA%8=}IU`|v$@uhqh_!MD}a>x!IU9o1`*t7diDxYN!1-IdIe7#%kMC^3XN?ky0} zJ)x&PJHCep*QGdYj~jC`zv4K=L+g#zzK}e~+>u+FLcF&Wn%ShHYjI>-k}33`QS+-& zeY3J`lq48C_AY|9qSB)PvPcb5L)TlWE5K2e=>!N8@gOf$%R^N zpm;Ob==7fW5@VdmyVHJd-`;dd{worQ?D{-uqBDi$8&P>!*5b2ahZKaN)-R$Zi!G9Z zWKUo*DiIryNtMubFq~S{4!g|8T^?vIX8@q>o5Bs*CPCrvubV$COTNU=I+52FJP9`{ zWeuCNpaLrOerQisUdq9*b;WWS-RmGFTRXNbEM+`-f&qkz7xA?ucX0kNDH^Qm}( zs!qTIZUkhixPvWyWF8_DY&Z~~OI#r9QuBaV761y}K-tdW0!OwIcgueV<0y>+5<5iR zq~HO;0c7R@GUM@pBWwT41R(sKsp%x<-op$W#T?q~Zb51k@}$ z`70A(`|nKIHRR2bFCg3iVnt6-7Xa8yK&GNQm@A;BETAUk-}vQ!TD zZ58LTY`8Gl*L&WobT4Kv4^!B6Dm`7vJT__HU01dmW*rv&7w@0>vH&OL!Hbo~*bXyn zk;fP!{)?NN8`SC5b?t_Om&(P>`fXE|*T8MyDVTecW&;E-eP2W$`${b&BU-ny$H|;tnzVC7&A0Wys2j#s8?;=*6 zcae=;(~mS=FVa_i7hfEqd*8n88Ic`1m|$z^av+0r%*@PdKd}pzwb8y?7K+DzQ`7Pq z*&|2A%cbF7(|EQ#e(7S*w3=8i|K8YeF>zd1u{<_l@~zH|=7pF-^Nr{W;^d;fhc!13 z!Nc_WR(W$5V2S;YibP<$mEI@-9{3>1Do8lrEC4Lb$&)L5%cE2&^6<9_GBr7Ub^H!hgCXfljHfpfBS@> zr0SiGa$Zs4=jw^wZ}5Wv?;f{bJDC3juC9wI<0k_u?B1ajg)FI{+bclzq8n3ivdpdU# zXu2j~6+7PRVPfZxvaa>n#$NXy?^L6{NL_KRIBVCn8^nFXf2m(SXO{(|wMKNgV_`{| zP=0jD(kAvjc-lKutmPRXve*dr7SjMZT~NdM-p8+dgrf9Aq1p?C&mFwy~wdq+#rP8#3(~6B~;|M4~bwr&Zf=s z;SoW-2)|9dTPg~TgU?Mk_hs+nUjd`nlXvbZjODMK!H3+DUk=^BtDaPa;x7p)1lfWN zaD8H(K+0g|}mhC9%S-rOoHZ9PurP z$89@5IwrDVnu(htQMqpOr(+t2&~zO>)o(kuh8j%+DH^b~O>P#sdyKW`Sp@x*Y>uyu zjy-p@A=LfS>s)%HOKzO0b9XTootRV;p3tTK<|Zz#!zsPoHspD`OB}Bwbg+=-Pe{_F zg+64@h8-9ey-JRa_T4#0MQw}ACMv%f{)ow`AM_ia5BGFUYGv|1-fbyty`%4xh-gM; zmYiWd`cRHp^#JI&IkukjtjO#tleSY}V<)x}xKndxVV--~*;Aq|n+i@tVF_}S*f%gd zv`7mcsS&3IvMwd?VI-gV7;4ju0im=?UZ3ZD|gJOzij^w1CrJf@Ya?ZfEg@dg&d zy9mNMR=nDuwllwyAL+}K?G5Y@WbmggZq}c0j+2VAk|sohQ@7e1oTIX)t)bb&i|4OG zeoYXYr?KWbTM$2uZ6zjPgStQY$oCyKa;G;XzFdAfN@{1lJuw^R%GDktHfN72wps{@ z{D%Egw{E@YIB9novBJswE!>$p%UlkvrS4InK>}i)%}ow5 zUZ*d9T&aFRFZMQdW#FIKw@Z(iJTeycyP)l^q?*8|d$ctxt+)Bv9@D^I3zHy@X z-?nK#w_wDAR}dX3ChYh*&$X}HJ$et;j)&SU;_m%WKJ6GwhX)!EW$Az>N2iPWp&-Q> z^GgSS>dzqZnH-*^Y^UYNPnOhKROoxL|kQunv7g^Jr!;?fj9w!oBca03D;ncYyufn?=!6Cvg zBbPd>Z7KVSBiPX_2Ff^)R5U31j-gBE^(m>neMV)wccL1VS47r)xDC3qvO&xE(DOSD z(4(eZJfk+Fzo57qT{Fo6vk!}{oK4Z+U*nq@n+75t&&)bCz^@OUfZ>DArb|9gZxhec z7hKCxbYqJ?TQL&*_R(gP!DNM|MU9Q66qQ%bMsSm~)XIXG3|iY59|a||CyaIZIdqha z+Kpr6m*NhG8fw?Ow`b6#+RSQcdqW;}NF;>^FEUPOkAyDF!u;xd){1nBij%4eF(0r*cvj>eYqd&yq0CK! z%6=)ji799~Ht`y7l6sf3xmSv;JL8?wEYW*|-*i{BwZP`T)FtlhDPRMZJrgcl(M1q^ zX__eG)1l`p^wxrC`fZZQhiR!2fgfLE^wk_4wa1DNEDcHZ_*G*7oaLppqyCC>?d-10 zN?Vq?p|yM=~e6{jz-TB^k~F!#lltJ=xV|w@B`}%xfC8a}gS6*ta-uPbY+9Vb1D8^|cho z635DkP7tL!^zzlKN2!Itw8Zw0X6rDX&%qs(SJIz1s)VpJxL|>bW=9WfuW6;TDFjSf z$gHj5y(X{+xb!e&_2#=Q^RM%-hXj?gm`mKl!sR7Kvv=#RUgZxN z1hfM~tPB$De(iE=z!1s#Hd0ol34b-X`2mCj-@pE@qx zX>7JH=N!ysM(mN*6BU#HU!?3XIrTX8R8z_X)-k!^rLXpdT30q^Sc2~#oyNt70?xmW z3~6SmYwu`I*(9-`NZc!9bu{2@_j&KBzp?0ezSgd_mnRjp6z5J+dUP4w+1e z0Cr2-^VYnzc3p!NsiS8JtDD6d*I?5c1|cvBsfXI>>Y&_#!{Pz;qVh9H(Z`0*FCPdO zmIa|(u%@uQ_Rf+hvmW;fky)BDC8U-IH0j^T6f>cfhVw|(hvQ6#)=7u0JLXJ=E19T) zrdIkkDr5QlWMXigPZcR$peZq@y$H@sl0^n?Ame3cd%c<^xn?__5z@CQW=$}!0Dv(m z6tkk4NAMgrgvT$0#u!B$&ISWd~taot7OjkwJlhbtWvw<4S3Ke?rrmYaa zR4jl*$GSI_E$~V-KE<@)nODrWU)_w!#+BceOCd^J0_v7Fpsa`f@cauU;F4*khgyb% z{(nKyRj}Z*p53EOaCXhoN#FYv$DdA!>pgb(P*&)fmZiM4$Vnv|;S%?B}mWO{jFvd^s zPF00TdPe;lu(utXbIg1UKf_HHzmU}_DBZs`%-c7Ysh-XEd64pu=ZnZyXf4< z{+R!JY40Fp+J<9=jf`(h%p00${;!}@)NbFcjcpWBVAgV7wfE{b0Z8dpDK0b+AO;dp z|4BypQ-;Xg)YgVIz<(UR3Z{_?2nJxoD{yc?yZio{&LQ1I@W>$)l%YrhZw3^Ur4kbI zcSykBA>-2^LvzvDcmtrM@4?1P%-LtU$}^PwYcfj1ppfgE1LPYps4)pa0-*T+vPSfm zHJ%7SKUN0Ys)h@X{O{I~|FK2}uvTmk^&(OErN( zo_4t)C;$zBLLy@5`$VA4SnEOqAf$!C)I?hXLHxKLgd|WU2)0k7SH6j^!XO9+p~Ljs zr^Q2}NDvGt$WV8>rRYyDS>SQx$RZ2`CYi%2$r+AJV8bj76rF}>zf1^{#3H;&B%Ey! z(tT+nAg5UO#AGy14OmiFD6EfqT9=QUXPQ}o4(tT^Z!XwIBlZ~5M?{`>B6L`ZHD`!D zw}L{xDMR;Vl)|KL4nzw_^6g22|d{?2|=C^@bVpfkbnijj9o$c zsYUN12k?lpj|KM|N#}J*Hdc^`ek+G`r;~=Gt@gr*hIDUALEtjD&>t#=0Ch*h!ExQQ zAP|$|sI(SoiwS}8XQQU(#rI(XU$F^+0ku35VBiuxnAA$^Wb*P(CLKPF6?5_0zKn0) z6Wc)=z*H^ zREOO7Tgm&4kf+$oO3523>ecQmBb8M9(ZNyV-tfUu^j7!5QIy1O-5u0C;(V3xZ5=)I zUYa!QO88TRDE1RN+**!e#S^_HaH&q|(a^7xiC+OnHd?o0cBa896G4#kRreHvw<-!0V*JQ0V+zf8pMjdioHlnv;JMhbW_Rs^I3gt zrjly;HjfOo{BOGC{}teI6_kDk}37(h7QV6RHcw?{_xac4sRxc zI^N;VVbp1h*C1ZbQ_fRDvDY1Gj%S>iUYdN@Pg9`{NfDT^dB&V4GS?&HFxA{bgR2XURtn7mmXUmHtJ1jYQqy z|3$zN0vfEgz<&tvx*k(Ax3k35A^*ugFPk_ZD}2@29vVDcgz}iz3R)triY2Si>zqxH zLl8(MuK&_Wn5F!!7$_hKXs-HO9z-fi2nNB+-B^VgrBA$18=6ZxvA6|$I$*bdWSZf; zG_a~9dlv#wDKuk8mWk-?#^EIb`SM1@E7!YBAxPZGmx^WdUpk9iBVa+8KE9%3th|d= zdo8Ua!Yc>R`~ntdn96}tQig$2OGb}TJ#_wB5N+jIU$}8WPvj{DFpc+nQG-6iF*7%H zA@G-eLXTWc2{J2;Y5|)q|ExsQX$RU`)y1ZJtWX9@f}l|IoX(D;;E%?ma!X8 zc{{+&m`++RwTFe-;rSRSpG$9RIKwR2_$gV6VImb6f(d>Wj$(S0rS4Fg8TmFrFLjR( zVivCOvvi%;*@YuqwOF8~UTO-g;s@sV>KhkOiHsVDy$M!f3hzFObe*w}uXG;^C`>)m z1P<4%w6L3fvN1pei@zDf>^~xKO_M)F05JbQB9bOq+UAY}0af7&)xlZxQuTt9`Yb(^ zL~#pKS{OdQA0I!h0*yWj2qbnX)Jr`ypzC3=fWRDPk!H^3r=A_pW1gVftNak_Z>9qL zHQ9J+i?juKr{qA%;>TDc+z0H+UpT}66(?J3_C%=Ff+8j5yP$ZAbd!@yIn*-9gOqZG z>?VDD1D(&hVO0gfDVPC&b#k*tFum%*SVGg8RlEAR%W~=x?aa-+rTF=I=KlMdrFUwD zi`iXVEMVKgO2PF@+Rwv=lh>h>zqaVLB)vMOH0FLP=#jn<__oDhCs8hcB0Z!x&#D$W zr8_ClW{%D|k+gl8EuIMq<|oiyoI_cgYT`}0=G>nDV$oG}{Q8=KdrU7}poIjPMM?$k zz1u)^-0i<e z=xKg8&J=`84s5o#>~x;< zFc$ySyt%byNS}m~*V~n+ys^Sx{Ivl5iQYN?@Q?Sd1@K3aW3u@caO!{McSQw^ML|zK zONeLEXN(e$!7nG|R$+>cVPn^!9iJ1gx=wnjs2$~Z6*{a9Gg`*EM{5*CWl7y~BR{@^ zuJ@eXp4~3#12H-_;utctT%7{82aXgkx6TosUY)+W`40mbH)yRMdABs zIT-Sd6=AWE)oJ*m5LO^(wf_C>m$8cupEp(S7 z$J(T39-GEaq$X$*tFw(`Y1akO(N-bX*B%?guf_M2`>GRztGy;WbxdGo<{zmYF<9J) z|3at}JvQ@E&#O{5P)ueeDn;x5D3`AQ!n61@9|4rQMKlF6nYG;*UQ5u8*wkoo;)9hs zXx-ne(pb6o_^api7JkcHgBkzBYA}bvLU?Z3_oJM61ipJ^o&-3dihTr#2!n+y06~F5 zbb7Qhjnz>Rq7K410#*0cVBwa{!WBkcucWX1XPzATI95dwuyI7EafFoKLP#+Z&tv)L$OO&2dc1M0vvgJ^k@oQH1TA)p--U3-@Z(sN-A6;^$5sm$@w)vA!RmQp zKg5z*HDp1@vA$1WMfH{=%den*lp}OfK5U63Q~stt!W!D!TfW6=@q1JjOMtq~dSUwO z=W(oLRt2B=DD}ma@-0fd@B)CJqPF`PEb22Ml3CqTSU(0#r&MywJOSWRaWj*~xa zgO+s~${f5do1I@*e;MsU;$$$crT4DmN?FEqG|k9V7I#6Sz25#j9kJSgIigB*b~0`{ zR5aW5(`qQ|-;=6#rW%{Wgx1lbfuxTZRAsgr{bDr7(H~~PH2wyKvDnPhF#QH@SIwWB znk~jgQA)_M2!8XBT_`3e{CJzrk75)p z9LWliT1@&iJ>r#vL`RnlN#vtTL8FB!rN|}vT%7yBrG2@Czqrd=->)bFxQ0`GzXV*v zO9PAe$Vw@)hag#b{HR8&$bd^J{Hg5A8RbN1OY||P2AQK=eN*_+NVQS;lZ`uPA z3~(8(sCwJy%Dab=huR{5yPz|`$EZ_nkvBa2xf`fb3ce_e;@o%-wB^M=Xmy)avuNp;=~@bKyKYLx6>{fZxjzTj-dOD)uk1I z4VyKIytSh?$!g_>>sc;1UMATxEfKUqQ~G zIrwZ8Y$p-GfD|5IKF2Dg^d%8aNt^r_mxj!P5dHdHa1HP;okgA4r3NcY1v9B?p=lOr z8k5Mi-wxMrZ@-N-s6gLHKa&xIK<=Yy$AXuTwpro?^Z^1hX*y5*|FibX)47dl+m*uj&&s8PL$+sBzr7Ne2Tag_o7+HVtH*q<(TK z8h;DDQ%6}=V3|s6N^JFqq{Qv+Jrq{az@<%hMG2G_=hm*a)!j-a8rRzbqO7(B49Tc( zgtF2RF#%u3VQ3Zy3P}$x)8g27(szGT;tT7jv9*MO6%!_NQRAq#J&F^3>O5b_pRQ}6 z#YtUAnF&#-pNeIT&vk1g$(h6D7C!_+mm#kmurS+dzRcgREGWJ73j~E7Le)cng%tM< zoOQS`RLAR!{>z+VmC(PL+ic;zty{u|9m=V;6;@L71=K52*^vc2?NAC_xzw-QVr#m7 zQXh~^>26K4Oc`$dHMUmc$SB^h3M6isQ_5mzgNE2gdiHR1RH8p(+A+Q-LA@;LX3oU;boHn6hl}KP_(bd=j0tm7IixtF|34`9eF_OGx&&K_F>>Gu>c=2_Pdw z=GbQ!aMR8naYSy?RkTSx)jAMH@seKYEl0aL_DIF0mhf-y`17XB08$52hfMl+laJrWxBr+ zGR$AU=TL|6g=p4=@aaw*wHqS?O80=J6TSI7_@7~lya2}wdRd>ivSqsU*J58nZem?R z@+@F@zw{J_@Dc2wY$F2R-lmry{68kmTjVjMf(hP$yn-J5(Ra;{o;$x~psDbKsC}^L zPGz;2_=5}00l>Y4Tw@G<0Hp|gLDIkss`F8ECVm6bB!0^tdfJZS<3PO(_Ou217k{bC z;6FoH`#j#?c>Va@Q%K&^VVYlqG8GkHj(bUwypdV})VovX-TpTdj!@4vd@#ZPLqS0Z zU-Jihp9j!wM6C!uwVyP2%GPrOMMOy6Kzu?k0Ydeho2XCh1^5N-5|VaUnHz9^G`w|A zqxItpSE~2pR~tKN1Db;1O&3JwqbUSj!inC1Bnk0*y%@^e0*WO6ua|No_yVp^7Xb^B zbZ{Mq*Ku*y_am9ZgDZwUhZ_Efa7GhPGOmG59tu=u<9<=qFnZoy@yeejwf>Q>+Tnf7 z@L7WEt0U>*#1fLZyd(h=h)FmC#~@4{wnL`(>CTR4N(f#X}9M zO$m6D=qAgZy&{q?m>WW*pBC^e#YS~Ei)6B>ik4?9rOjM+)D-)!RsnbbQ$Q`D;PMZ0 z;;vSG)_f+wVShfUH&$a%_0%a9ve)^;XvG1rP7noYcrSBgkF6T0XSLu*fFYX+5vNF< z2t_Jwh;fMVtgr)vW3WtvY3KIm+>fJ$oV>56=gzk=*}`22M%ds4Q;|o z7dW>?>J#)&%SmDTP~$W?79H~zAr>K)G@{g^&hxg}Q74xHX5o*+K~_ee{7O{CDR3t@ zKFIW}(-hA`aSUO&2k7Uj*3VT4bb{12mKdaoeQA;+Q)eg<2koDN03d9_R0)`)k557@ z_j@Fb1|GXA8`sJ#4TPy}^r>r0DUl|-x<00W=O0>w!Xiy*rHY3bJCMaHva|){s`JM< zd`KFYV)>-x>u(waIL^i-EaBIFuvac46Qn+qrk?)nPkH*^5j;K+jAZ^G?4d(TCh`Bn zA~Q1Mvf5eEeF#lC^h-%hmY=+c zrx1*)nMoPDE$LPH=&Y#$L`)Hrb(@{oL5<%G8m~v83uHizwO+ZFwaisZIIKt_My^$Z zVzvZlr+~X5^=k&6XV!ZFUzZwVn)|{!vTqZN4W#YttuAAs99B!y_lKxxRX1&mM#usG z+-3YN@E^8EixQ%4KNjg@`Y9!Kud=R6Uy5u~iJGXx5+;yizy~*DZ&pYt=bx$S>3Yd? z%(8kYbIkCxC8pYA85*~b9QAFbhE-TsQJP8jTS!$l!FG^tqRlP<`H3W-~qcAU%9YMR#J@g0P44=Q=0lS2MG&pWU2h zpboY&a9rBIfI=(}NbFyK@R1p-k#Uggabr($Z%g?(v_f9OZ5ru-5}?OH+(m+QARI2XIqe2UL`B_8JiSJo9n*7z z2OI&~vyBY6E7?SzW-D>4Y9w8jOo~34~(>oCx8UjXDc~gEqwv?vVzRsis>Yz3^X)!qXLBKCg!u9y^ zoJL!j*6nmP0~#7S`EITAC?r}VfbMB|pUr8GL|Nr`WhBf*YMHq}xH_*+flS3eZ>VnQ0k z3Dn^!ol4=;nn_i~63Ji;v6h)V1T#CSp>7nD3M`s4gsVJ(XBv!8mEsm+*m@WUkQ4IB z;^fo`I~7GsVJ7UZGcWY+#9Y&tYJg=U@ZX3#2)?~B?|dF0p)pMUu4ITNG(9r|DIoQ% zri{>!`u8zMppW%SPcx2bM#&uODF!=gm|lXGvw>o`Bt%f2pr`=RFa55@7IB#J@1sOu zmnBr_OMM6;>Zf5d%RsN+aXPUY_U4MwipUKd{4!GbV4SB0R$$SJsVO(y7sS6s6o3)`HAUVsJlwSD6Y}70FE-x$?@2` z@uixUEbx(1?Rv2D$$u~o3IBx=aJyrx5GOIjn2_EI;4j>5mX+T60gc9tW&kQMx}J#qLjYQ=Gx zUlI|2>mc`WMX5(*uV_9oW92bGAYUsnF;57X**NFRE+Red8*#fOate}2o%oZX*C1k! zwS>nHu~HUQCt|1E7q8V8%{r{8_>=syI6$K|OAbOHiI`#Z3w?r)<1)fWOPPaiuelMp z80@?d-3P-eWES&A0h4z^x3U$Bfc&X;X9`%4NvdwP8C4OUU6AWGbi9pRzM~%dx5O!AGaQEqxx3uS$ZcHj%ZViq75nyLyw8`-ibC{(; zxnbQfLuP~t-lYbkuLxi~4oovss2f8xL*grv$P0zOjDbFq9^31P{@Fd|6tW)!0lj2| z0BekBXnn3$Vi1O=HlZeVg6LyJziTl7hW;0e;13oif3vVrBe6Jx0&AT7 ziy4=|lQxOz#0X+t-YxwX%CEd1%(o*Bz&C$TX3oPLKRSWMP-q&3ZBl667(DPW)EGi2 zn%WzI>fz36@qJ6U!n)xlMBEL+PTOknuMj`g&_6G0^T(alPtnvye5f(tOP-+FZqNq_ z3*XaHh!oL&J3j;L*6{w%NB`&XiR$!&0s$RB|671a2O~#EGi#GSJ4+f=tQ_*#klxmH zdM*ZZjxZSrG01kwYL3}b@{=fA@TAd` zAMoU@BP5Xdnbcj-B)bhu$s?~D)>TcVJr<=D!C$}>ZzfM56q{sKdAA%XL<}OWo7zlK zEK*W4ds~D{W58-z$N2JoLV3*msX+lDngu;igIS!UGAY$Vf~kNcIj)BcF0dV?C%oSj zT4WHyNnC)UF*hiwAitR3e>p@sCw7Gp+d%OxX!YhZ1`H)8QS&-Vi5AP9P97t}Hw?r3 zbt30*t}Z$_-s)AE;v?nDn5%MrD*4=n0QT@!5a=wFAwDqoiSH^fY;-k<4IzFEzbi`Y zzw#*z^YcUt`f}l@_Ke}7PC|b23@&(?hqo!JvV8<%T*#n40&PDRbN^i{dBflv` zyftckBQ*O^!EM;}U<6(R~6=?m$#&eyO-KZT!qw?qB!KoNbb>t|^TQ0%co(B;7+ z?chI-_12G%sTqNGK(jlvLOtRh)sS~QG-5-0c(3~iTC01+Y<^9hvUeudO zUWl%4{P3RB-^ht&$bR%io4vMYqX|Q?vX9U1hT3b^@t_Nzm5g^uFsZO2ieU9CW6LkGB>iJOxH|JAs=Y$CUUHyMi%OFV{L^{kF}=J6k!m zI|uE_zg1a0Rw~!60dGL4*}4sqqjs;JmJ0Ta+aJOW?nE|}L%6aR zjCmk>tc%D`7S9BlH4?Es(k~a9#q#;xEgeI}lnwd*H-q*~Z7JRr_RhJyAVhO?EiHQc z7NV7Q8JhJITt~N3Rktk4`NBaC@pa>Sp>G<{P*f*@1AW_o&O_} z?lWh$gApM3^)n0*5XwJZGX?~ESJKnB{1X9tEpaUJ7Xxb0{WYozTX|4=KsUcIro2YJ zb*t$iDCUljvJTM-(h}2iWt%B}&QWecYf6(q>S?>6NHeUs9*b!y8TLVX+{R?l`%=k9 zB)AxHDZC;Rm8%E^0o9Kq#^op&{4b}+=D?rBj1V12&6JYm6q~Iy=VuvIX0TY$HB;rH zhd-;O1youL`@mR+QsvmwxR%#i+V%8O1q;0*@am0a$&8Iv0VN-O`mt?Ygq!47myNHMA(C ziPWR{n)uwqqJCe*qc5yw zT@U+$Chb&~jR08)owokk7#&b!;8icUm@cg_?4|i!Zckjk?3wV*t?!8fKDZDzjg=!T z1cP(kx__gL@>Ep3P;o87^&9JQzmrSPK2jmVr@3qw7LoIW?kf&@e9vNj=uss8&z=+l z(S5LVJ;(4s4-?KFeP!T4?DO3#JIZ4_2|Vtw84hj@)xXVyt~n+iX*ed_9_jm_U#w($ zxKYZ9$)C)7O72KxqV6~F&%JYl>9g=Vy*vu(%JGT{n6IsC6_z9MW+q8;#4rafr9B=a zT59KC`pRq_iWxh)fN!#XCDV?ptJZPnHPnfwZ}h-^p7>%|Z+z_Y(;S2Cm*tZM+bd67 zTiRD|&2?+R+v2yWm%^Y_`HTa0pR1A+x}B!I`T|;+wv{DL?3LL2mh{xrt@I5Td~Lw4 zUn3pkj>jpSIBM%DFX>9rLc3eY|2&oB1&Ep(Ab^0{sDOab{`pZlni^Rd(f>&q|Ag<+ zkd<8(MeVw#6z#N?yyF87_^}lD^%uXNZXDH6(_J}_9=E~7IEY7CtU-ae@+?)b=ut&* zsa3x45$P*Sy^wAwii?C~PDqT9c$!Z?HUi-KGqg5ChYJ5mcT!{D)qiR~665AGqn8+y5 z=tZ}XWj%gKO|a};C%X1f>P;U8`s@VvhE_Rf9|l-PsA{V|tQpEQ49#+TSPuke|Iz6soaCyAG-#jGck;_Kny=y{r!H-MzZFs%!ZP4?Id3QXW zoz_(q0U2REJj?35+#RbbB2h(fyzTGdSLxvKc|RQ>PL0}HfIOLLMuDm2wmkryUI3|; zNUmZW1l)NNnEl4OCSjP~WLgTkf?rxgmZJczui*qn1kY@tBx#x1j_s!+$3g8B+^t`n)O=RMa z`crpJB|es_$F^IsQF$d5ebH71`#QJvWtqHn%_m^yN-oItjZFT zneoWszoAgVwA5FWGPaKwpEN&sg)*Qany1{0k>MB9o(=9`rG%07{j6CJZ$Yy<7skNS zxD{#n*=(n7J*PhidzH7qm4{yedqJFNI3s=j1SQnXy;4d$XK)_v=%cS%WJWeJboj!1 z@GyeBb`B{!5q!#>u&n(KjcJMiKC?Y-bA%6}4$fA;`vtxzZ+@U4GMV zpfIC?GDxkBq)rxKM~o}>@t^l3IyO%n3MxNyW`wYzDpdI27;Kv= zv9-pd1(dFvA5o@Ql~dK-<<_V@%XNfg!7$+7)bbJ`xic}z z>E2VcBNMF))!N|;UkezuM{664T9Y{KhGSpVB*1~H2Feffx3bIeJcEY%zU>HZQaUWs zgO;1^2!ymp^F)2&RcIG^`s2~TobuAML5Q0q#N^v32Bu9}oa_6SiiWs1t!$5S5>>+M znrUPh*xuQp=j1y_MxE(dLqhM>^ed;uZdviA@TKyK?^VxTJSc4MV_G>|g5{67s}x@( z3)u9flJ-tTP97B_`(NE!iEmXboYNkW;-hZpSL{P+4xYW7 z&qFs8I2&W=06pUCjno(d#hjTt&}Y&d@>i0L-D>3Mcn#R&brCBJ7;R1}Fk)(w$g_k* zM6yGKMHeK)mf_79#g}oGp_Ky3sAiiSa_^O|&XG<&J}{6`lTHJKCWy3-EvlXcNi&Fa zq{;`uI~R#n57+0r=B$`9lqq9QoBdTVS;ECVlulNMdHU{9ruyt!4CXk9pJ^qjtezp2 z_2)>Ss2FWfn%b&*Bm`AIzPn zrVF{KzCx!eIuBH%fT2@DMqBLwscDFz)51{gCr3#$I?gC}kRts^=7;%ZV1Gr*eN55F zK3x_~IeG-o?ciLFt4YU&P0TrNtDB_PBJ&E^P=@y(%Ki#=_%D5bA{|CdFN!Fwnpw79bX)R=hp}0Ubv)i|LS?a(douA$P z^ohd(lyPXQ;5}g1!Z4QASRR`UrD##(I;{akg`XbYBpZHq9Q=Di(3pN5B1V_bTGMGy z;zkf&rnFOPI$cr8ta-c9L)64I4rseWGm+fuPH#||(x8p>L9co})_3)6E?nwOgQHaV zxJDtHtf!za|0%qoP5SFLK(IbQIOcx{|Bx(aZ)5v^`nv9@CbqAeVCY@xpwguZC>>Fn z$O8ld(gjHr=|y@G2@jDXJv0@hND-8d1T6F>9jStd^n?~#04eet{q&);Twnf}tlTww z->jK+X3pMc<{tMS=QS<%opZ1_gSz+A2ILxyBta>Hh@P6$y3kDUMX;FF`%7UCLRkfP z%Q&5`5dzhO+-`K9q3}BSc})ijworOLD|z8;R*K!V&m^Rpy?1!3%19{uNVD@kC{T0~ zdvm0vO-?DH4TXcN>l#j{J#lL(VOMsiT87;oEWnh{(WolWc5b~}%BURAs+UbtgSWpX zP8&2Xyvr?~OtYDDcE33HYFQ(fPVii6rE=oRR=rljpz;v^UV&U~3!!LtODiT;6gT{p zMA3OB-04k+$RWEAT83{~e8cYT-V)-LZae9YyB6*Mq%&fBL&H4)Lna)^=l;_f&Yn(4 zYd64>`JT^pnV36IOEVncg<#N-TBIURhe|@w^p!ZI9)rehXodDz(<)bN0>hz~fyIzx zCMTgJ*o4iva&#y399}Whcs@3{%II9cHfS%Fr_!ED@{i9TR#jt^gjN4q2#v zBoljDp0@`Xy$7f-~?_UaIL@Ldbwb_4BEv--Y+DS!Hg&F;U!M1A9NtMThHd|_Y8 z)}7T`YwGAP_i>&ToIH5!$(Q$}7<;BGzv|6m#X(fLh+c6n_JfBFfz5`#9=rBa zuaTBpoFTc&@mSw0tfUT9H_Kh`sxE76tYwDPnQ71*|9V9|(tF~mOsU->gHUgaKo-ZB zk?XjgTh3-eD(6J{j8jzi{WK71&zM^DfVWBFv#V&j6L&DlnPUps&hE=nzMvy&}6 zh{6U8^O(~K|BvQNgXn1z0~arz(tc*&x~}#cae6t$T-y&e8)y{X=}nILPrmXkU04ob z-mN+D>CG|!Ng8Z(({h>0Wf%PYi77SgrdPuw+45?cH(A7m=OZ&Oyx5GX{r2rpL63gT z-b6wuMBk8?ta+{@=q2k=FDoPd3|*pqjFa*M&qAZ-5B*hp($k;5Eq9uC8$F!emu?BT zpsXvuK#g1U9A7%W!&dQif#4EFX;W<`x{nC(B;6zwbnmcUPphbA+w$^6^bl?5FWo$5 z>2vI}_m%YS>VhmxExtjTC-+^HYaY7p5%Ee%t3zGCXCm!kA1-TD+i&*`F0Gv4kK4F~ z>!cOOoMiH-d+Rk4K-%dN`t@YVp4UkBF(XTM8^rFEZBSwWPDC3&&t&2o(cQ2~;u3Uq z3_*DMp~Ow(P&Hs5B)hWOhHUDHA&~o=5C}7H?E*T|{9RBVVVcjA@x=%@D}St2u>QtPvq=?@r;ycZ?Tr(ve^OvMbC~BI}(X=TtSVsG{jLuNr50RrskWX7u4Tov3H9-VIBtvoZbDSYv34Uiy@a zcIh+4=fcml*Z+waww@|~ZnRHrX{u?r%|C{zdOYj;)>0Y;tsc0wTvk#^`=1i`r*!E)XRWKSf6(C6Mz9UgL__)a_D%r~(Zzs6RR&za`e}7F73{ zAhghdl{_tSSc;?pXdCqY`BU$^dt})&T(ykY)0vgZ6(`qC?wQd$K5}_DZ;BJlkC@AB z*SEPWg%Uws%-uQpc8CS#95-{$QkXPj?^x!732jB|8RIpx+bGuTi~=|z^n%oEpNTYI z_COQT)FK!&aB8}kqHVz<6;k4)IRa;&=I|1#EVDi31z#U*af@jDq$8ZZ%&U|dPTWLJ zes4haU&@QugUD$TGFkXx8FeuvK3vbJj^B;VsMA_eI`KAOwZKqkK<6CWAokQLYU9(X zwju5k(dpLbD21(rT(G7Q+h}j_q87dn2~yT1pK<&U-8$W z$iU~M8cuBU+}SGlTxC|%KlYNZ?E$iptkE`jQ2c}Vklv$Cn>NWA)^_S@k{1ZIsZaWg zIreKviJ7Kr{>6;5gAJr&W`@Mdo(&gYR;_$%%`%nlxVg3HyexSyd73Kis?8u{eKvcs z@W3oisOltMH~B^R0)=O_{FoG`doYwpFeI_SJ&x)Qi;l% zw4X}u-G|l%`2uvYeCYA{$CC9k3D)S>jFN)-dirL(+q|oItIhD58NFJUTiDEOF-g*t zHA*GgGXb86F9gn5IXT>U8>p%!Y&5T`K~rm~>&y%#=ZIeH=>w?@7P=la?&KEeZd6?& zbzIwoId`0}InHUVy?$B~^LoRbQ3p^MN+Ogw;S=%qySxu`Xq9e=F@1N<(nueJkDp4emYhFFx$;L^PJSM0ZF{NZnf>H^|iyew){1FDxpIG43qRwW-*U-Hred^cZ2-)zH(>Qn1e=q8+YwBtJVh-FT zkItE*Qsyd2!;gjJ<{Rk=eE0c0)0!ZfoGkhD<*tMRR;PyGgUlcjHrtH9ZoVE8$LZ_? zwmFoD;fF;|2I0MFeZ5dWCk_pytL=c}_FaYi`k;U@2*g|!FoUg~J#Jj{b+vZ4_@1eO z34Hmrl=gsKKLb886}u~2jWNd;P;m7;K{+A z+<(oFf|>yL&i}8kJD3UFru>Mh8Bh>En2ws3gTdgn^p3z5>VJSiE9-%Izy;GIo;sgj zJiirEz;JN!QxPYGwf0QM_c(7-DgujRSi3dB#U<$AtKccuD z`d4udCIGA6BLd)M;osE#-!w3o3oIm$xa7ir=lWAtf?2?_>xcy&@$;zsA;Q3Ta7uWD eCq(@gVt*!xdRoLl1bvSxdI$oD#0B*CU;hIwf@8G+ literal 0 HcmV?d00001