From 15ff4335ca3d11b4e3feb6c0039ce0f7405405f9 Mon Sep 17 00:00:00 2001 From: "mintlify[bot]" <109931778+mintlify[bot]@users.noreply.github.com> Date: Sun, 13 Jul 2025 09:37:21 +0000 Subject: [PATCH] Documentation edits made through Mintlify web editor --- docs.json | 1 - en/getting-started/readme/fact-sheet.mdx | 221 ------------------ en/introduction.mdx | 64 +++-- ...bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png | Bin 0 -> 686968 bytes images/image.png | Bin 138516 -> 686965 bytes 5 files changed, 26 insertions(+), 260 deletions(-) delete mode 100644 en/getting-started/readme/fact-sheet.mdx create mode 100644 images/853427c8123decb5ea3d163ae3bb8ab635d95e92f7ee14a2e51e54df06e94fd8.png diff --git a/docs.json b/docs.json index 57568179..ba2d8349 100644 --- a/docs.json +++ b/docs.json @@ -29,7 +29,6 @@ "group": "Getting Started", "pages": [ "en/introduction", - "en/getting-started/readme/fact-sheet", "en/guides/workflow/key-concepts" ] }, diff --git a/en/getting-started/readme/fact-sheet.mdx b/en/getting-started/readme/fact-sheet.mdx deleted file mode 100644 index 69bbad1b..00000000 --- a/en/getting-started/readme/fact-sheet.mdx +++ /dev/null @@ -1,221 +0,0 @@ ---- -title: Technical Overview -description: For those already familiar with LLM application tech stacks, this document serves as a shortcut to understand Dify's unique advantages ---- - - -We adopt transparent policies around product specifications to ensure decisions are made based on complete understanding. Such transparency not only benefits your technical selection, but also promotes deeper comprehension within the community for active contributions. - -### Project Basics - -
| Attribute | -Details | -
|---|---|
| Established | -March 2023 | -
| Open Source License | -[Apache License 2.0 with commercial licensing](../../policies/open-source) | -
| Official R&D Team | -Over 15 full-time employees | -
| Community Contributors | -Over [290](https://ossinsight.io/analyze/langgenius/dify#overview) people (As of Q2 2024) | -
| Backend Technology | -Python/Flask/PostgreSQL | -
| Frontend Technology | -Next.js | -
| Codebase Size | -Over 130,000 lines | -
| Release Frequency | -Average once per week | -
| Feature | -Details | -
|---|---|
| LLM Inference Engines | -Dify Runtime (LangChain removed since v0.4) | -
| Commercial Models Supported | -
- 10+, including OpenAI and Anthropic -Onboard new mainstream models within 48 hours - |
-
| MaaS Vendor Supported | -7, Hugging Face, Replicate, AWS Bedrock, NVIDIA, GroqCloud, together.ai, OpenRouter | -
| Local Model Inference Runtimes Supported | -6, Xoribits (recommended), OpenLLM, LocalAI, ChatGLM, Ollama, NVIDIA TIS | -
| OpenAI Interface Standard Model Integration Supported | -∞ | -
| Multimodal Capabilities | -
- ASR Models -Rich-text models up to GPT-4o specs - |
-
| Built-in App Types | -Text generation, Chatbot, Agent, Workflow, Chatflow | -
| Prompt-as-a-Service Orchestration | -
- Visual orchestration interface widely praised, modify Prompts and preview effects in one place. -Orchestration Modes -
Prompt Variable Types -
|
-
| Agentic Workflow Features | -
- Industry-leading visual workflow orchestration interface, live-editing node debugging, modular DSL, and native code runtime, designed for building more complex, reliable, and stable LLM applications. -Supported Nodes -
|
-
| RAG Features | -
- Industry-first visual knowledge base management interface, supporting snippet previews and recall testing. -Indexing Methods -
Retrieval Methods -
Recall Optimization -
|
-
| ETL Capabilities | -
- Automated cleaning for TXT, Markdown, PDF, HTML, DOC, CSV formats. Unstructured service enables maximum support. -Sync Notion docs as knowledge bases. -Sync Webpages as knowledge bases. - |
-
| Vector Databases Supported | -Qdrant (recommended), Weaviate, Zilliz/Milvus, Pgvector, Pgvector-rs, Chroma, OpenSearch, TiDB, Tencent Cloud VectorDB, Oracle, Relyt, Analyticdb, Couchbase, OceanBase, Tablestore, Lindorm, OpenGauss, Matrixone | -
| Agent Technologies | -
- ReAct, Function Call. -Tooling Support -
Built-in Tools -
|
-
| Logging | -Supported, annotations based on logs | -
| Annotation Reply | -Based on human-annotated Q&As, used for similarity-based replies. Exportable as data format for model fine-tuning. | -
| Content Moderation | -OpenAI Moderation or external APIs | -
| Team Collaboration | -Workspaces, multi-member management | -
| API Specs | -RESTful, most features covered | -
| Deployment Methods | -Docker, Helm | -
avZZYYHYX64)MOEM|rN-Hrmol zym`#JHU0=+_509#U|x)rHzt;)KZ;uBSrlh5ba+V>?A1R|97%F5fwL-3dtgp6S>1%gXBOs4vB5gC8~u)7lGqg;7K zcHR>LmVvn0Mj$6+p4v{qOn{um>Dwm=N_HO*XP6?ZDs90YG;zStFU2vfF&DO!0NwXr zKDpmc7vola*iRB9nt;c#Z&F4#&DyXn)VK3!HKyvvF+0h{*MNzcj~gsc85|%bE{qZV z7IKG9+4ytW=Fhd?0P3$`N?~$U8s&BqpcL-Y1aw%7tB$wM<5V*%sWi6gUsa4t5BQXL zKlJ*hH9QY4b@XaxmxR}^Z)K~yOjZ$-SI?Hjl+xAwc0a%s>V@I!6h&uvgt>4`$*Tl+ zHkSJf$`Q%pPrKAJ*n%Q>KbR+nD(+n9B4KkZ%3oZ2+((olA&%lS*0H24{$d~7v5LU{ z!eMOyt@4G*;1gRZOE}F{vBdjt^icY~4{=Ho>$fN83fwdFgz0kw5g^oHjKvZ_J(j&+ zpy^VX(9_OLP|Hz%i$QZkScrw?e4!A6Obuo)AS)1-@2#YUNj2xB`i#I!e2ca#M)B>l z2=PPj7VB|=YvzVAiHFwmck+Cdj?1-^Cxc&%@0& JkQhSe18xd-MoOj8jb}@dc8L;-#@C)VH#2Sy%p@V# zPd`7%ZK!K_8r>9)UL6xGmU>w{vT*02leHc_t5Mj!37+|@g?;6$;SlJ07#{R&^`7Gn z{^ax3i7gKSHg1(JM$6`%3(7~P*L5#(ByH ?`8F&2dn1w;A BC(Qr}^$g7|8D^zKP9R_cJB1e7QwIcYKW$P|W<4zxlh(l>hu$0;h0a zhY~-#Heem1@Zwp{2lIvT-0ur4XGTz}LIy!ycf9HVjegpa`mt(uAR;!kaF53WF^pza zg#POd;8=<9{U&Sur4w0BrssEYKCIC6NDpU!EDWb8vL4GvI@OL~T=?>P-aZZdz9}WN zSbvPgq!vFUESSOsZSEeL(F#1LK5q>X)1`ic;~5{~YioP{btFj+7p-LVHat72a_*(R zVHSj)PcU@zES4!2m+eu7iQ{=5vDWSb*XvD;ay=U6_F|n=jT|e2_J9IKITtF=$w(u8 zEb-{95xS)aT03c1B4~ =`2>d&E9nF&d9*Tzzm z<>607_D=>eRxl{_Um>5 zYux72g}25XOCZfl@?Nxed*724f#?3^oUiOh{WU3liLV@D*IOyJxHnfvoqGT9k+$7h zQSeQ{9NGYyP;djH;Qf$0Gy|5YWE(_z%JKhW>L1wadc&=6IB9H~ZPM6w8g#`r8r!yQ zG`7*$Xq*)_TCr_w#eDML`@Q$^euX*babDvb*KdporF&IBhae22sXfg~eHjM!+NER? z3xEN<)zGruTavPg!UnFUp<&noTtoZeU*F3bUaMubjCn$SiPMn#=?x{MF>tWUC!lTi zBjA !b{t# ztU`=m&i&Dj2iIQg6URx^#ltDyxtSd&UU;1YV0E5@dKb??_{#80FO}pDmg ?zes0!wX4V8W!Yy~QZSaSzxt`2icZQQ4U<|G>T1LNhqKxvCZN9dV zz-w~&X6L(F;bD>SA{MlySZj)tz9Zor66|;U%Fy WEV _QKgXU{P7-=mL3Ns&$X7xRm zS#`K8UP3DUhuS>ra*b4g*&o^qR)M9~f2#pV{W%Ci(q}yzK)jyU=2bCdQmcMY{ot;p zNE>S&ib50*w{Y7&A3ZkT^zR -nWU)L2GShx5~U2Efni0%s&Zw1c6^FhwQhw?G|dg=isAR*Un ztu#qoG300vPBWMA+@m-}tTK_~hrvyy1eAVgi?-am!RG7u1~Egn{##8 lEJA`7+tz z3FJHyyOY%R*yE@#x0T-Croj)Loxy^qliK&uqHr{kHk>H>_@ADXd{jt1vGJn_1@I^k zl?3P@91nLb3snEQ=D;K{cP$B|KxaF>yAgHvSda#;EXMyelNWX#(W2RgeY*rGv>A#H z5@W8GZYQudijzH#z-SwW)vfxB_RAu0KZYaBnK4z4LnEwxBT^Iw#$pL(ZHVzJ^EnTl zz^(L&D@3q?t@;?Z&|_NOPq|NnOZK9V;ZNWuG$ylaZp8B D}ltlVN#|c$gUoLx=%>Bp@bV+f%+bAl5q|r?$pcpQEgfJsE zrvU~;E^{4Z^zz~!&>aY5h;%`Gsm;(QZ$XjLH8o?Ypug=?!*UIEqkPBG?2DX+9hw&z z&k9Q`&f&Kqim5kIXsR<4ZueQohtDc2$!I5u@3mC|CY#yidv%P{4697JrKTC$dAWNj zqyI6Mmu+OX1;eNt+2g;3CSHf-+P()g9B~mT ;6!TsG;=e=em2G)TbAXdrXJi za(uN}e!78H{pg1v?9cqqOPD_kAG>Hd9b=1=w(vkuIiJWXG4CgOD!Mrs`hSp6uc}x8 z?N2jg`;Yhd^Y3mv+%H`o7od-az{|I-nzj~2Tih _Q9tngY(#;J$sdh$|_+ n+P^U7Tj}K2eCX7 z@yKKVT^v?#A5lW~K^ykfHBaX<$zP`$VcIP&mZf%|(VFuZD&WY!; oNbu42_ z0QaRJxD$CbOjWd^chzDT%_o_@<}cuhX38k0C^)?5r70xu&!$m}oUc{Ya%~ICLhJi! zi>9#UP07b?338g`WncWOo7#)(<0(66jOT0ZGh`IT+u6g8r}XCbSdeq0qYB>^sX0dr z%4iyyPp`%2_l<}tmyx%k&7O=);K3E68g`%l+fJPJoP*`7SR)SqBmJKY5BL)fxi~Q> zv{)TU8%jy<#oaAyhdQrbnP?sli=W4RINz1y1PZynYS8O;34L@DliedKi}~q-TeZ(G z{+)kd+VTH;Mlp<}owl4*?409G#*Py$%_ry5;W0I1wWfVv{2w$#iQIs-i?KlvL{#Nm z42CRnz?MCi8VcK$I5m8|H_X2`xdZBa5rDZyZ6bAw+a+!yvAwgA%p^!Q%f_c07t8l* zq0PWRvU+UdGOCecSG1G!+QlrDlWr#PqbJgEP5-+PKSMaQZ(Tet+oA19vCJhIf9TSq zw2Lt4MpzN(3yi#9a el}H@QEnEPg*$IhxMD$Y9mSi$z=9b=B03N!YbAl&dV7~5 zU1C(vW2>Et#!C8eg~ss0kINYg>T5qe9D(9{Vnar9vSgt=sk;jJQi*D5nrvl&bJ~XP zUkx`w;-&t5DmoR$w^-{m t)!f92|(kCr$(V>up5EMB}nVyh?F*2-+TMa9lhDMgB z$M*W;SPNLex}itaiL!0ZK{09kP2NYD^6jjV{SLVQxhqm!>LP7qBDBpjTn_vykRVl@ zD*fW}Ny5OQg-uk<$qHA%a#;iH)N2JeXfwjXeqAmsaZyg3$c-r5&x**MyU{A7jd(2h z!bLB=>xz`M_)%r!XN}o=l*Yv9z#(T&M!c FuOr)ZLHI$^qRG zuEu|w$EP~>Qjf`~*r%rbVdyYBm$GVV=A=VY2y*kyz{=I64MH=`nEAhOyTR(ufaB?; z_Y;P6Za%V6L=}m*>wd7%jot{imohw=!0tLtimjMH)~S8lxr~Osu%ivp=(_f9>Vm%q zSgF?jI_Dj1nm5H{ZEt^W*&gaD$# l(*`|?;?4k(%J$`7bFlAcE!bF zkN6GAA0}7sF`_gb`|o~|x!@nBWuTo%z>V?|g16kcRMfguy+krTURm__@InU4L8BQJ z*}sSgO>n4&|FFSM@WQZ@D49$ }0KRaaq@YF{nkR2 zp9<@RQ{>3B!{yNJ@5{j<=y|s}&EI9~&;0Mdt9n1-xdXo_>RyGdHD!#0fg_$LK}m2z zcaywCx#_g3tan9ru> BOzxxypC 1*@u zfDHpvTzhlzKWuzpbD(xxfjR*d+L>k9#B-GvH+J0b693h4Q!}og(_R9L4#r_&8uSd_ zNPY5%L_{ifhQhp3Tyo_DnU9L5zVZG}bnLFuhHlHHhhNjsOLxXv(FEEWaBNLaRQ0U; zlUuHhjfSLr1$XCy4>^4q=9h>vyK-w4FWry{f7#9JZ4d^BhiS#w570u$h!G`IVysID zPuL9QbDM=hyJhC2@yQCLg{t@|#Nvyzx47YiAW&!wGGsr4`Tn*zDXs~eOz_ocb#a}O z60Mtz|J3#MW-MNS6eZnxQCom_5*tcq$Wec>n(V0|%Ty)SpaNESR;epUsxn$hMm}$Q z+Z*Ci3o0U=vsZF=;h)n3tL|{Tu7pq;1}2B8Ksmq2sbUX8V+U50jlo!ld=`39SxkDk z)TSm7O*kEdPIjM%+8doEfqf3YY#M2eqw-sQ4NjA|ulcn~bN=oM%ZN0UaP$vLg~;yN zh&LSyxG87rY0IWuBGcm=Zg>}=YMIY1*KO2}8X>4TZhH8wi-)k#RiC|# OS(*4{$?%h64O*exR0*oScmEOTlgpNi+rl*(%0YGWIOg4XE; zxy)4agiq{+`~OF%^xBX&5dlPE-JEw2hJ9`>g?iy2aZ$^D;D4SNKKD2N=KFslg^E%t zNf*BzjFW0hyA~o1_QVa$P{ewl-R*0q;S>lp7r@H&KPHNQ>@_g!&QDRPYnvnVPe_1z zLXLQhPnQOS_`hq=2Yddak)|R^@x ttlG>H>EVTj%fvR0_u=j~-%$Wx;LrLoURs zi0lNjoJ*PCf-f0!gnI-YnHw*9{xJ6(Tc|#-6w1GTdT*>!y}E+gWn<0rZnV1at2zo< zYGT7oqTv#LNvWUUAMT$0YBK>pk;SA;p)RpngBe^?X(7U@L`U8y;U*X&9>Wf|!`9c^ zgTwdB!`XOY-!fsZ4!J!F)fR!C_te@{yVo7NUr$Ev_%1{@e lrbVpLlY4I2nBGz`7!+o z`?Y9&HV*``CSydY1K?BPiTmS4-sOrUSv~=knrj<|Z}Pxz ao|qu4Ipi-|sTWtjn-3CVY@IgZ@zq-HQanYmetTyHV?+ zNckXz0oe0QiWT3SQk*F|^R7bOK6?lD!yrd>2`@qcv{_AZ?Wo0pqe>Q4uPIP_SJFkq zVc1e8e09>AjVq-Se>?a+w}}aR@FlI7;!n+U|J
9GEhvkZlZ;G9&$>`X|z{ zd>R@WeBi$B%shq@CDy(|84=g^erGT3eW|AVSdshTA-iF&28Eh<>2I+$qM=YkxqM5f z&WoKK^&5KtJ-C_y$q=RFe_Nh<%h9JiR!j_)1GnyF*^kO;(4df$iD1g)@)*siR&J-p zW3pDb?XA$6;vluWfALI??IEJEUne1#83&pejV-Xz!=#H?&wS43AIIu}pUF8k-!61- zGu`xxh1CJVu$UfoB(`wJH+D+-$;Xk+VJ+G2t!%WIqs^FMhLJZ8n-dYVMCy+?7~vmc za&>bNOiWmLs;6^HPT6c@ec29)42nTy_jtOC;pj`4gT}bn?2VVZ4AwynpmoNNUaGGM z%?Gkoh==8_7IOUtN~D~tQ^|2cH7Xeqcg5ui*EshXIroc0iZYV0chyR7b<(Qr;fjzh zp5(}y3epo>4HgO1_c_{XQ9OLCNYV-!2ct%Ujy5<&k%~#d2c?^4z)>u!0j^F0wZUYp zuXP>?Ka+Xe03-N1B95x~NY(=y29?sjdu^n~#ab94_3iXkC4;ni4%bxHy!yQK{MqIV zOdT}i|I%Ryfu`JdIt2>`0LRdaTm|(IneL$#0%ub;f&%*K)MP8?<=D5XSDbLjG5l6% ziwQK$rHK2{_Gz-ct9j&V#%8r8u2DcN*~^}Y8Z7VZhyz9LG^%N@_Rsqvy4`gY?|{32 zDgMwjU@wf+t-Z0fTUY(vn)ZXGYk;2AOe&21C!|-taCJC#xj4lSP*!3?A<^&!ra(UM z1;4G5UDVdLTSer|*1?S&{})-BaN?W;H`L}5c1d$C=@tn!!Il+ptJvKMRm=~BvXUFv z26R?u1(s;Pum*NsH!ApY?%+*$s*?a+`v&idOoeCZlbzb>p0>insdC{E0H*Vm% (L3!d!G)T2SsQ^Gp zjfz@1MYhz8O345MQuWHgx?#*x8N5nywdk9xOm%!=oKBVrIwgMP^Q|A64pFbBo(qFS zd4-yhAQ2@QgU{}j#pDbCN~MGnSt3F?`j@Luq X%g* zk|o=VFKA!X=t3Gc?XBD7;V9eI2Wc&t^Zw30rxNDCZoN?Tow~>QHk4zs;8dzUT@_C6 zwZyRgm?!pZ|2Kk8f)%5%F3(rBn55$;U3be}gH7;nRtwS8;s(dJ+xOV@bwe0hxtS1; z+V4?-5x8b-EUT!*chNEOzsTYQ7l@<9hP8799&~G8<^3=DcL&2Re76i;J?DsU&3$^_ zY=^ht_H*1fXM-G|u0s{5n8QnboMO?v*mSahe3_?5+}*fwNan?NA_zU XVuC|QoQ~NKjsT S1oCdOJ z?I#o7l&h=XlN{0sp7b2yi?3#4#>O*jyxEf+cM+RWDRA*|8qK!h*~|?6Uu(;t3LYJL z!-H;ImIe18d#`4WD;pU|=GrH$-L9N6C37`9obXf!KDEA}7Yxc=DGoxNT;Y)Np!Hk~ zYtN+J{d#Q1RYB%R{DhU}( |W$6!2t<8` ty~%5-DOqq z`y-R;%~@s3n!`qnk||jkYZ)Lr3;7T>k6Jf-<{LF@3rf5b4s0NPk_kCY_fG(*epg`q zoUWtZmWTdXG{&V>3S~HkGzaw=>vZS8{CoZBydUywI-nQgulkG;u~mVpruW=giUZW} zF9dG0 2QA?87;YaMLhzNP }{#r{u@Wr+n?ifp`^ z18(%Y9TMfs8p7r@YCDc2H)}KUog<5aRR%tBd3(q2!&fK95_HR}tK@YsXkYFoQ(|;# z?Mn;rAX{@$&$;dY;@~pBeVC;lv6^LQm-F6}7j gK58M?kCwj*XO&04VqN3OGjEddfwDRZNl#2;6pq 0{vZdh;Hh3@W%sS2tMl zxi5^jRwO9gqAB=H-ZGl{`1OC`nZ+s}NL7raoto~beRJoR8EzrRyF>BYlNd%fQN zV&}61Oca xqt9r)ISPgR_dP@I`5};v0R+(RJ z{@~YlznJtruFsyz_ZR6aoO1TSG$>}3291i~5|jIyryO%>%s^Z5EXuJ tr$Ztbfxg zSS0ezJ02xlLC)HOFow$v-)NWtO@7vW(vhL}WmatQrS(`T?1x6MG1&Ii<{Fh^fUTCn zH=4E1HgHK3k&Tfr)z|=uS!r*)Kt4W}opza9r@HL5-}~ILEV~#|o2_R?ms~je>3A~u z#5Kin<_n+R;Zngom-@ok&``O;sKts)`oH;u|2Pwzv<;zk%1KVrCn6cBdZO;1pNi=h zB+odS?NaOdEI~htEoV0${0rnF9OBs1;@vM-@AoigZ%$IFm*gS@L?i5A1n*#lD%OlK ztL(MJ4l8loUEXct2#3nACR^i!5n9uq)&2SKTt$T4RSS!4UX5q)7KAj5Vdlw8HId(` zR56_*f2C6)gVwjoyVqa=#%fBj{`}t0c|JZ^s1{w~9mnt*Rc|LW46KJ?onE6!|5^&B z9ERt*ny^rpSA-KuW`BPda)r%t^Z}HwW@ib1Iyz*6AIgBC<8L!PB^~_ow>#vC2T{+u z1gI`ndDrf{vqzc&IacKmnNeR;reVqw2x_^7RYdBrh!eBLZJz+y0Ct@2=07TM*23x~ z_i0HMA0;r(8;S-|r%Ofe5p@dCaG^W6+)93eQ~F-p5=3S$CI9oT|D(@I$a_0iQMflN z*yDw}Pje%USEmZzek9?qLOX7|b*lBQb!r{#v1Qfk8To1+J7K>$JP&ow{Gm8JSA6o+ z{))(7G>Uva sND`sw5+_ zqyeoDaS(RMbYw#eR5XlMXkO4#ZE;2dN~)|PCRG{snc+F~OdS3WV3|w0!!UzHTKqG{ zWVe&9jj;hc{B;Xu`Lo*;j)vGswuvaY&por!*}wGLHf;as+rxSm@30tZ4(6q-PBnb1 z$|p|od aift}F)6HT!L1 mH%5i{lQ I8xkb~o|_OHrsDlsoxxQ+7*ocU-C>r;+t~LK 3ypA4pziCjZDY1@@h4rMe& zfJfN9CnqO~!X6sq8g^y!nPsdLevQ1crX q#y&yh4s%=yfguG%(Sy3>CS&F3Tm)DS zEXx=S2P^LtVp`$OVmR>7xXybJNbm-V7LUt18z+vlc_=^zd}Tp1sZ4PwvT@-ls~PiC zF+R)_dd2xI{{e1bVauS6NEeXK%Ua4ADvq5B(B2A5zj}C~R9ur05g?;$_PM4t1hX}E zQZro$u|k_u(!tJ-w=yyx`v_dy$7SnV@YrtlA;v7vSCpyT-rKb&E5Ag;EiXb+8P}*a z#$Yw&Vh>{M|3vb&SzlUZuRW zCjrtC@`F~n-`A-K>4F9+3J6=80Tg;e7O(S-q7v8!t^r`43}T1f ;!>R=CYJ4q zze=ZKdlv(lW5riuve?Df*Dx{ZR@$E-=COo)WS(ry-xSxxI)Xwh!v=Do?brQT5wK<; zMPO)sr^G&g1+4#yF1$0{qQkIY5IewxZY_yDF$N1qC1>7ZWF{N^ZG{&``mk{7;j>m4 zkL1#z{KHK>$f69s)$#vzDt^|2%lcZaKerT%=ulTzDDG{#%$*u^YbzLFM&r79ujSMg z>VJBdRJFez7)YS_iBozFs+bslUVg!~=fB22g3`$gakBlR+d#(Q|6x|tQB*Ns9^?GP zgwjZ8_RaI&yoGg2H{BYW2}xmrCgVU{OLFx4Hq;L*LoQBcaC(DUkaFRefw~kTj?wzu z0YgT=$z;PP{NI --lOXL$f%Bc=7d@+zAbH@bN$1t1)BO6q^oFzHyQxG7m43C2 zm*1OvE$ybG?PWbRHQe>A3ghN`^CwBR_HzGldHZ+wI@x<-)v1=Z=DEwd!d(~Y98kkU z^tl7=eoL`P79elN2bT(@{CABO4tn7jKoza1li)QAcLYQ*lkq*w0_eZGO};a4xPt`E zusZg|4*lp_&Z;^$WezZ=Lf>#Segz+{_I&KdVcGHNY=>=_O-2BgiL^PChq8%g_y=32 zp9HjZGx$X 9eW0GqAH;sw?F{XX9Q{_QZO zxeJ7Y(^RIb_^qzWq&*71Z>?_lRD4J@84b_f*WPFg4fkJ7jzJUr(iAWAla?MSkq5n! zM#esEiSJ~rU}d@vm^ULxuvL-fu&_WV(KBZIx^xh@fe}uE84q*G?@neWHw0cPa;C$! zt!3sO=ri*z*8v{m1{GQZUN!Ma_paxv4dwVsk~@mmtNUZ|aINEpEB>wT^dgLBelCUR zrD8g#b6-0UlG5#|4p7*Sq)qd)?HTCh2)E5t*=Nyeu!RD@IZo*w-*c?)JYzW)!z^x3 z;?R;<<*k=^&-K}gE+z#*6sUy~i4;YFxP@RIS%+dR%&=DDX@*awnj;QGDeM9J1oaWP zu!>khKDzNWzf7A*lNDu~3|~!twhv}nxStkQ4%n9$EEZPPe^<)DKg{tisrm$MV=HpF z8J>y8!u+@mMmU=aSl9k`&Y?r *qEe5a_%ZY?RW~39x@olr0d(jELTFQ=1x`^$nPZ Z$Tl6yGiqw_$ ze_DbwRt}uk({6+F(>rR26gGo$cCUw`` tkA3^{&H)<|0kRTzxKWf z0(rJCHkY#=%eSJI&mH}7s5|8?YyQjJS-8X4CD5+o@tArs+|qd9TTWA09VKXAXRv!~ zka(D*^Q(Y9{o3k1OBLb1dI2BNM8kfpKnw@~CI_yFq*`dPK_59YX#E@IJd@$Xh{4z0 zuGc^6NQR{BQ)od# snPkU5IsE%4 zmX^(@)p9!w|2d9U>p?$Bej!&Tok|ThBg+YNS+yaWv{3kjFeg-Y-}$!7bSJ$8!_0J7 z&ff`lULS+ss~%G6-RbSIhtw72>Guu=K8p-Ch296?HZ-*xwFOk^+qs#fgq~AQtT(6_ z+pbGtBGVj{IJrhG{K2admv0}--dJ^74HeQHW&Ukq>pE)K*kUNi^V&3pLEmuIB%?(O z7%isro|W>CiWDtAGj6J-VX37AHcgPW=u?Y~C_ZSyKNUL&wDsuo(Ud%DEp0s%#1RWf zDgyqtUfiN(JS}X{8y&tYh#yS&zuV78WpO*@`7Y=k4va^QxU^$Ypl< z@`zxS{4ddDq9S$PPipNM%QdSEB+TC0U!NAcGnTm&{AOY=Jr8v@uB~gmm!thpmRkjE zC1&)mIw|d@n})Ro-}y-=YUEc#7S1zg33#PgaTHNw;N(rsXX7Fr-Y+gc3bcr@R>z+L zDhv!JQ5N`9Y@rUURMGw=0_pHVy{X-l@mmhH!SjX&-c${?0>(pcXN1-$QE)#q#sG+? zUHJ0!n)Qo~oh1BYkKp12Tj#THCL1xE_mho1_j!}Abb9uJZ X|k72fGR?viNyzZBWybpzrtjo7*77wwanBG5?sCNdUosAw*3zR=nu@k;1 z8zdnPs6k%%4aF)s?C~-xg=S|-B4#Xnxp_8Tf>3qL@+0(1dwunU{Kv`?EJH4P_wU=^ zknAjibG}E*Hi%s$An$7DLF6?K{O|n<->q84 >~y%tHFH$#^zg&w9+Bh0!bAcW;bj<$kE4x1mS2^n_W#c$HTnMe4}e=~R?# z9;6?2&kwA#Q(3o{C!dcEh_T*xCT@r~B(v#=+Ci+hG#ph?jpKj!rZPAlQr);~(wl0# z_f6d9tX$Z^w`9m$Sjf{sxz_^Xb>rDk0d3g|@U!o8^NojYycsw( 4~2u05-;yWRN>~0)#_-_ zeFEH?ml`c7-l0h2vFnX8njR 4w*xE8^tcBF*x& zdBd;{cz%S21BFD_gE3o=RyjQ{p;+nmeoKp3kug_Cp0KjkF3fNB=lCL#C?SF0I{LN) z7noR6Ak`p-hv%Y_!9gnImuQ!7y=1Z-n0>pLI~6R{3*?)jSuy%vveAPnO1iFqhRM ~)Lldk{ zy2jqhVZKMJ-gSQ^7Hr1&Of_Qxk8SH}^yZB}6Iq9_wHNubL@pDgG2X%Q{sqwj__9vy znk^aj&oY|vhRC?yd{-7x&!V@CsR?Y7e9jLhhTjqDH}n z6+RG$724*`@>^#6xli|}myfoxT)~S?x5?=cu^bZd#AfmcGeViXd=Ts;(2XPG7WeFV zZ^TxKdcl-L=&%hI^siZL7Xq%CI=7d;gjr^1$13x^pu{;BEZp35rPB7UkGG^eMEqE5 zQU`xR|J&*K*^yH!p~bMbe7KD~H~N2MzPBLF=rZ@8BiXRdb}SR1>_<-nu90v7**w3} z{<3utJ5%Lu;Be@!E!xB2y;oypGCueD;*+|TVfH3@>YrfaqK>~-yxjUP^KQlu?0Gsp z=Q0$sO3pj-okP@@#G7s}M@afjpAEYL=-`U&^|Yw5GmyVwTLWMBPE=pLaaR(xgg-bG zrFD@S4mVhd3-i+9B;_TB5zSUxEBb%Nm=KKF8XvQh-IY!+!NbBdVeSsL?K8`eL{VEB zte+0LhOQ4PQwwVtt0F(+wJA5>(=W^WIeq`(4(&^Z!!rG^gNL2#5#cXEjA3GvM9sqi zMln
m+} z;09!b#A+}5hbnsdJcV*-?$wn@%mSRP;Xpb!Rm}(^EVA!Q=w{7th|gaQO_r}<1cQ?J z{LTtV4Cy5k7SO@TKQb0>;dv+qDHUjx6({sVj65I+uG0r8XQcb#C(O-l#y5?ymc7u| zAL~vUfsP^JhMYxPPt%KXPV3(=ig7$4az-2@Q6vt HVXPX7Zi2ZP1`I>T zI~RiS_;qe6P4X7d@BenD;f8pO;y|@JgzONgVXXcIfAn`yJE!Pt1ee`m`Mtt;Y&^6G z>)8TSRSjpqWnij;oAB!m$ )%x{c&|$w&pz&uf_oe|lk3@t-d`iageKKM~vf2vB0v@f-^}{}({Wu7- zX^cAaENLDAgxt^U # z x*{JEB8nGz)*wUP**PX@)lQ-uv!$F6C1T2 zl4M(76SVQ(fad!|kenn`eA%vMMJyz-aR#@{uPVGmx8TLEGNXaEynMav8nE?3G813e zJl22%nVmy9)WwVBt+4GpEr1)joCx4vR%jo(%7C6<&$^=h&2HnmL0%p>j{o9E#YCgu zYsLh+to>}ZOew-Dp2Bs0B^I@O=QT=CviHqYxZj(ahJKFVYQ2Vr2J7q8<%9PK% RkM`Ozx#{){z@_i|lHhgN=rnr>4! zb-rd??|(h)cQ_E8=ksFUZTLpk>Gq4<%LnEnwD`qSn?upJNj ^Mkej)_ZWLw-z zVsA>|qMkc|Xsfk*w>1i| p+ pVtSR@Emfac=l3Z zOdm9FJN%0XT3b{u+Ut9`lQjC7ndo>hsfSuq9I6T3md;BOYf}NK)W%)z!#=LkY0?8e zV`*!9>ExIt+xQiWz7?zilG+kD(ZQIXguSor U#+CYk8+_XH~EA zf6^K&@EmE*CP3Mfefi@RAoj7FS2sZ7T(ANFcrnUD>WSZIOorq{h zf!;#+lt3Ytzv6Kp((dL$#C!^x5XJM_TVJ*=&))zNtrQh;eQMh?OeX+gDJC!VVglB# zA| ;Z8=pKJ@RV+WKW*E*mzU z>DHw^Px!LCx_L5C(#jJV``r0pHnD?&P67f(1};m2@hwGd<$M2+aF0<1lCG48)?z8? zANbzJ_#e*)`;R}&$2%HRS_EP9wD% D zh6k7}(YeEM_4~PJj$1E6hQcv@LAkq65?>z&$`2nQ4|0yTRY*B55j{y0U4q1*_|=Nr z0>AL%#P#{$PbLlCIV=1!13y|PBpGb2O=4s^`$lPXEP;-Av9sPD+ZEyX0mX2k;7-_( z{`#=P>p`-l^D~2^b3fBn2bo=Ubmrre=KYFXji?-$Egi&Cj?DvlJD*FNO+>CWwfOea z>$_UltsZzo4E@4y#`!o2>{ SIrxZ6%V{H)sa} P*vk!Q4g=*_m+J~7A|EhT9$bWnzjn(n(cVj4 @g6r|D?~1IzA;?6B;0tnGOYU3E z8@WYHyEy#@qQbAM=9{TH_FXsxbRNjF{_kCzZ&%?uzmcaJqnW!Og+J0BE_Lugi!5w` zQM8^yPyZAS^34Tb^7ePQ&YL+qqFb9(-zIIcY;u5)wA2@%ErYEbIV$Ylz_QHignBZC zyWw52yr)MJkaz!2`m$73Jgf?Q6Ki65*W^1Y!1Zvj-own@?4jSK#>Hz6H!0E80h)C^ zAX?V|e>H*gA)C7lxt-+lIp@Jpo6scub;()JV;0N4^B^!)KgcIj__;@j6yaN238u=l zz>}21V=tU=Ov0uY=tVw<54=Y$NXp(o&I#8;ZtjMv%y%_a_}7^6a^yzD+2d`&djpA! zJmKIb>(cX5r_6+;MRDBaZA!(?D_FrE4F0%~OIJNm+I)6!d;ipXuW&+-1t6b$b#aQK z{eKFbth2qraK8$04`b{f|H5s)=so;>b;=Tj%?h5w9Up~~%YErj6Dur|Kzo}v7yfwP z{J5Gf3V*Vx8po>c+1u}VJTn(M&xF%NoRkoHcC;bM8rf1O>gqa{iigW(d>>a3N^0j! zIQn(@2h~s(b&jxudGhCn*m*~OYdkn)-*Tnf>axYSLEqI4QU3eEb=2R<{#}j7W^f_J zy9aIjeN`H(KZ5fF6s(NQuW@s5TAr94N_#fi2-5{;mG3D9Zd%%3jg8t5Zv9>{bQB0b zCK}(@o?5?CinPfbBL9Qh1xC-IXSGFe*NMZ=b9}L06q@(1O7;Y;vk$N8HeDEAX=%bP zod2&2;EVEBO+JLv$F(!$q(NluOIz_jJi76Pcx$4yq5;=_nY<5XHrPeFYq23kXbthU z_sFc9?aj= l47T|yz?Ll16O>WmYhx;xNucp%`w5T8dxBn&e zLSik%B-V(<(=A^Za2X@!(azQ@YzdVTaw~%&z4;3%>S{0+^AamnES*PbNxK0=hpRlH zxFN^0|HnVEPp-R^K>V9!fF%unz;JXR^<<2(H%6Qt`JFi-XyMf-7yE!?L;F!cX$iMj zLi`JK(pPQn&vqo{iJ~P>qF8f;U+(AmDd?HTeiVMUibQCte9VW)5V>ffx)~50!p)Kw zkO!`<#Lsa$mBnx_5D4f;$fN?Q;@h5rl9~vU!3JBw*6XW@qT-PCwSec5CS$C2W}fVf z(J=G!uZPCgSz$jyhWp0ExrKUY$vUTSo$JSEp}j(p1%!$bbgthPnZ+|F-QpAz@+&3T z#K@*t@3Cw}Dn|~D9}do_`y`EkxxgO$*%s7^^}}#^`O43k&KNBm>umq(rvY;~Bw5`@ z0O{r`l}>+OD*Q-rw87CtQN0Dr-JN_xkK3JpQ2)C8+EyKMY35lhyxSMdto?ct&8+$u z6^++3w{LF;|Fm7UmfV8|htO@k-*J*?hz{W~wM`@6A*awA!|eLR&(i0i3~H(^9l43b zF0mlYdu&1@*(_mI@T(7`34-RuHR%n7(!)L+&tQMlBOITqi!hy!nSgvR0r|_bjPTSU zZYh6hXA>Y!=nT?06}n14?Fq&E?J0Ie9|7vxn~xdndue3$ p@(7YL63iWsk zB|#82Hc&@F1?PEe$T&vyMVbp 8X!0Lwxs z%I#5kvH zYvVHg<;#Uj(h&*{Zo)`#wW<2>!EH>AB+`TL1aTdKfFL z@sACag*-CD(kCB_7A}1Twx~3H6&4G1i&QzD7hz~LQIUP&txtgkqVWZo-U;!5)!VZG zDSTt;aUM;a>00~KagOr?o)%?+FYL#8XhK0PMt}>Mj`s#ykid5fTi>~khm?gKd1miq z2XGZx4@@ni%R7p_k4o;>gY(OC;Zrs6h9!)XAImcrls`BY$laa){7-uWQAo{7y9GUA zkiE?54EOApM=th*;- 0E(z3W1VRzk^!?K5V3kFnJ&Q9YzXN6(uiJ8?_}>ygszEfH9>@P|x6XdFy^z5AU! zx&yCBaROwf?&jI{V=3 rl~YNnnfd2hVwG8&A^7g%@bZqy8fFbx751w5y#C=l z;lq>iD1UBnwsn6A5^8@h%NxjhKY=!M7r2JojCRj$01xZG_E`JBAD@6C%4St1!jxk9 z>FIO)KT=gv=}yMT{B7>yKTKdK!*0#gCu8-&D_G@CX9UjQYQX-lL$nKQqYG+ze@Dm= zspINc(>rp+Rtc36ga|%&xHVs#UQT4Q#bH|&$pCujy(;V{jyBQWlz&8icjuklC+@uZ zh}8aY0Y>kv^svH4@Z0yRJuZ6{^lsu>E>(9Yp}uBVPZ}+ocWw6c7dMAW1hUBB^iwh| zh?WJA(NReXG!W;J4PCg@#x9z=Pr&y5eQP)3WhDRYVpxz$Ij#_Dmd|bVyyN#J**R`l z9{9CNGv_1fxkCoS7^L9$ld~ELP?~5y`*a&-D}g(heat}APZ;`fl@#v3*KE#X6EBUd zbU5whF@?@Io7pr?p2d@Jc)eoI1R@KCeBAt4lrTzKPD04h!6)C0MMf4 }lKf{Mze=_LMc6EB=Wi?7rG3)J(dJBe&-%XwX}U6V@5K zqhgFW65ovrrdHGU%-UY^e+Md%erZT??#Z6;YoMk+wFD%3VEY2Y!hhk%`#%P>Q%#ZO z&Ao<8^#w~1euax@XDGLFLmSU}rVms=oJDoS`)Q@L@!cWheE|ve L)RT)ccVdudkj2r94;eC ;Rn~ETUiRt>rnit$V&kAHuScCZE y9WmdB*@I3 z@1KSj1Dnmae^mWXz7$b9TvL4A4_q&>qPJxF+8#;7-1fUI4o&l!Tcph$RxTY#r$8oH zqVslc{B&_Wq>aBGUhqy@0It*6eTaO_O;A@VK4rJ&J;ZhT6)bG&UlG;XXe}$7E$oNT z=Nt^G>T5FHuZZzMLA7xGII{mAYhM`_W!JSmw7}3IFf<5A=g`t6-3Urc4=LR(4I-Ti z(j5axH%LnjT~ZR#Ao M@O=>bnaxN!em}j$oXxD=d_XY=7Bpbeg>){@Z7WnGEe#!pzar@GG5^+H z(vfX>^MT{SLN1De0_x3x^qTy!fc(*+w$3Yx7usZ4$6Nh~Kv?uZRBTUVY auZ=+`CIQ-cuU7UUy{pK#`6-0qFue_@Uz$I#KDnnzHGI_$lMAl;2{FMy$jV< z>E$O~MNrU*AgQ~Fs`POh^|y&xGGjcHzqp}OVoW9;yX`XaJ1mB7EEo>I0->`k+Ny)& zv`O%77j8r|Ch1rsW!80dfHAlyB$(Y;R#7(*S>(KBB{O~j+{1Cym?zNIW$#xsS$*Ex zcyM;nY~Z_-?u SLhYa&DW h&`rE4^i#|7&n$!ANb8q3GILVt>fNmF6c?RgWbe1KD=98zUn>LT`#^ zbK~KtVz&EY@t=x>u6kFl9FydNu!iTDWyVg?D0tQhQw5_2UUz<&c#lT`>oP)@UOH*C z>7$@W+I$f;PBj#1dy~gIh8O7v^;=y0`Ed3)&Yor(NW)W;o{l&l?tB37*P2)i&42_S ztb1~U$Jr%(O^Akz-c6JM92{$HG*=FtjahgOGagQC{jdk0G~#3
cg!U)P@p>P+>N4--#}|* z06I6VjQcbDX~3(^6r )$Ymr)5&TDMW!t~u!m z(U83G)Pvn=j+;4$=KBPf8gz!=$kM?auqGH=WM3Z6FY?`l<965b+2KOv!jN5tvTM@H zVAOVX5CY>HAKPAZiWNlz^z9~s=8+$u33e~;a?q9R)NR}Qo0Z!N{JLfvWAge1BQk8k za4h>-SSVu{nYCVQ)XGdR=QonEp}>*-WIzAKQlqU-Apf(GXi)-;G=7iHqsMQ%`lJOs z-n|z!uqpP+CXB>X%#sl?kHm>N*_L9vCWFi+79PE4dZvUi7PFq0SJkH_RCMywftXk* ztdjCsJ($w9(r29g>5QnS4R_48O1;y*)zC=2asr+9W=#9ZmId@nfkoq-R#a{0q(!3y zVRqzsd}Y%`PlRwf5QZ$`QnI^}zJ0bk$-+{4 $bVFTyvJDs&^ -5IfXsHY?~GR`M%Wi;{`C-2yGpBoRVX3MU}I= zmQp;uq`(m8^dL=~zSJg-@UUMXmd*3}wNN8RULS=c?MmNsaB=iphcK*WLM014dB2cX zlG)LHhpuyIRvzjBiE%=$C{rCZ4Rie<*~OjFlC&o3Bqsh$FfJIcp{nI-iJ#qP*6e`P zp%;f%y;SDcqS{lG_~3Vw2Tqp{IetF~BB_>Wi=R9!^PieYBcuq)`$*7Y-(8&_)hWi3 zdo Kv(<^ERZ<>Y)2nxY9T^&+ J3JSBeYYR)UWXUM|@&x{WGFF$B!gh!k1{ z{o-EpJ5UM%3{7ix{7u_eonn6SIAg;8r@sCd{tuoNUaLqIx1Ee)YxwOFDR*cy@Z)ZP znd44#-2S?BZd5;dYH;*6G%%N7S`XVRUzKUXON}Vss8I7Gm?ip+2%d-_Vrw|Z>|)4* zV@9l|DAu?%bb1_%MKNsZmMPXcsZ(<-T6qkAL~|O9>RUF>lUBrq+v_>OD6;ofFF0-= zQB~wZgY`qql)LzPDqLr(FAP@=pIX*;z6V!T_xT9!U=|E>A*FoDo-w;~?Zywb%g)fW z-8kQ~|L#BC4gS=Txq1@*+9m9O5?Bl#^IwZ{yHHSSo;BdyDAvI7-H|fLVLn%F+xB*= z+J(0*T7}-zx^!z66l1EVb_jcHKPF&YK@XmtG2|<8kP&9#nyLjdrVe6z1wdN|r_yU( z9_Oh#poDKj?G|T_ePNixmT#>mjr^0&OcwafYDjLiBalbgl~tjXqw+Rs>eKUC2X6^N zymK|`>R)vKkeT-#jEap;e$2MkN33elc^~DUO|l_ebTI0ug%qTdcHzJ>SH} 3;J}{X%XKfv7@1JzmiJ6zt7o>Bi+9E;Iv wqy}p zyP3M%7+_0MMM8EtUiutPLBer3wDaC2x2(6v^klsPDqMS%yh^{$rMKUmr!dOM08mET zT%UpE>#Mg#*XA@l*0FP#LuJK-irtRIi;`5(aFX>8-aHoaF(v#c{?-l@|7KQruUmzR zuB7T1@buduEXK?Lr`clFQ%Anh -uevG_>z2lXSOxpj(^r4Ts-B94eBH!^X0R z52I$wysIzyRx||98Bp9b5pH*>=5lUEMcFA0eaw$Gg@xr~&%ECcmsJxWU8)6q@lHu* zG`n%HN6QN!eQl?bG4P@`D^vPvs6C8Tse9f@EA(jK*pB3SU;Mcu7P8#tW^;MD+3?h{ z%Bs}~Ry7&g2Pn2FD~`-+-`%H9QT7AFQ-Clau*7}@|5N?1#b`wg;|i5q=f`l$9!~$H zR`*fzF8oY9J@Gv}H5w+#v24qf6hks!@g=Mxc-0UUvEvBs`uW*1?$PoZ%9z2=4PEXP zH^wvv&lWLP55}jx^#&OGo2U71wxAvsc(5-i1b!D9W7j@l9aO#?65`4-~aw7NY!Ui?@;ZhXVT5z=&h)XCPip-!1qb)c<%`4d+}?<~i8 3K8ZPE`6{}le`i^md%5%0a77^6iUt!1Z;_(gkih@I^Pfk*x%YPy_ zDrF(|Y1mB+0u5#8sMZfhm1I6exjj>_jKgVz99IiTMn#O_LV{HtI&{VYA!%S=Y*1 zgrl2%RsCJHCAtIbZfz|uHxv3imdkO!&t5swFZb%Wre>Xld$zTt+fJYH0jFql#-r9X z3bjTG$FkHWu;1H4{qTftk`<~XmM&TU=|SthgfDaHNTj&%fqM0Vv$#=aPf7n*0)tin z@LzMzoP<;T+@bRMW|rVK`8=F)%WvU4u0vWtrUa|Q$mM{~Lj_{{KGWR<#e;i&cWe~8 zt3;+Ew!4-I?Z(`SmVn>la|`wpt2V=Y eG#QY=4QDwgU>0NT6x~r_X*29TeQ6JA2V$2KBHg}q!`>qL|?Y1}j zFm>~~t4H+E5m~-cW$E>(w0nA7Q2w`X xwDyP8scV#W*aOGJDfxEEy3MFL^$|hjOT}`V79&zdslo zCRHGm6*yKI{PEMx8{M#tWxnPU&ZoAR<;M`qS^kyVx~wNaXz8J7+fP|V1tGN|xo0OI zK8mFlT3Y5r)`P|pC3DzDHs>8E{jXJZ! 82^r%DWuYE$wCSm z>~%7gZlzdm9Nx%u;;>n=wxDvo=beq0I~mLttqOrlx&aMz37*dF-Z<@V Gid1K3-X_`$Y%4 z$s+*kj7vZ*M^ct!g+IH>a~_Ne$6#kP@-S_n_A9moQA!l~RV%CIkQS653oERfLO);EMhy?N&yoKm9`|@R zHP-fR8fd;XLM*Q@_1 |>|gY_cMKRRN5r;TG6i<5DS<0#`ZYPAT7qFePonPL}dIqmT$%ICeCtVeI5cxv8i z?>Bp3^^kK(e4K&`34E+~7P8$orXZz<38{k7sxP(G#r7?X$;ZJFjv`}y*I}$wJ#K7# z{bXT<;eO>5&pyK$lCsY&m=4YF9BVP}L~`FZEPL&NR*r_+FPq!pBCBiosq-Gt7cUJB z`(7p4=q@wN_8oOz-uKM2_+RZ;)lSv-2QFZbaC!6lx^Jt*k?BacP)Vwr!jQX>y7S~Q z%@0m>%HUYp^7*nw5}lub=Ji1mqCi2_%bSk+^EHq0gB3qUO5@I~MK_gNAAe~3PmA gcZBQ9 ypLUVpSmSQ1A90$YigW O{r#g<^5W#d>IdD%{^)NY>GOEV#!{8ewWUs2t8H6n#$0(4zCE~n ze_`bwYIz4^tL-*C3VJ+(Y6ra-|FAg{HXQNe*%h8g)zr=gl?dNHCCIU`Lh9fs0L?+K zOief6ol-@F@@@YyXN0Ld1xW~H=+b>O1=7ZHjH=wIGHudR6gS<#>lym{ckU_4LMunB z^-&yTcjqg>Hs=~|`z4ElYOx9V=CkJXXZzuIgg4Cat*l+QkN4-#2SY_sY3zOHeJt8$ z7w$(ej3&X7iX)vqLRQ@oEyF%)I3~O;f}hu;KchSG2GdQ9soY86F!G6L98+HIJaiEB z&o1W7fd}T0#D9tE;CLPw{82nJAqv}RpA+9HQlIEk2biewYJFqDT&?j}sl!2}M>Q|? z$&t^}6Wr)x?G8LJow*5M5o0-=3qrQdUo!T}XumppXt0baq4{?o{&Fac1LYbsr6TkG z#43%)J@@f5w+I9|fAITPna+>uZP7V&1W6a_6zqMrK%lld1f_55)Pa53EGTL#sLu}6 z)kXvO3|r4f<8_-?`xB+rLb-HvSo>vlxvED7P@U$$6=5UD_zoVcgpatUv0U6659#VH z>)qctp3nX$@p|4k=jrL-_kFVB^Y! $!sDy~) zg57LyoSuErG3h&@l@iJ8JB-zzV0OCZqAWY$ToWw1kOJg7!sepE%Tg^j>O0DMuIDS! z-}OqgYr#TUiaxhH&r;mkTRm>;jh33W?%i&tAKOc6_W8km9hn2X^PTtpCu@{^afpc8YfkzPXb_eh~v}iy;B=Va&3P z3`Q!V2lkJ;?M4$sb!+ 2&a z+*C4!nBm+}p^0UwTbX^|HE6vGGMfQpz{3td6x|Lt>OB$FPvnRZ3gh8E>%_$~VWhEI z1mK|1-awZ`dMx7{byp33yjF1XIC2qdf!ADOiI=60Z0n7`)a5|$%$Eu_xKB;2E8DKW z>$ZO1c29lNu#0WPd-b@z E?Yia+2GcQ-MK*oSaw!R* zoUB$yvaV(}&Z@LE{*Zs+8k#slX1-~v y){=@&BvU7$PNYu({no>dNbpZ-UT{r7Zx zj~LvmsH2jjXJA0ZdbYQxwpdjj#^9?qt!d*Ei|7FnpXPQMw$97Udq#y4%1hoH-z&n4 zD)BMevV_EW2dUO}I)tA%Qcij;f_^WyXR?6PD=GpjEDM2>A=FYaaB^F)YM-28#UsjU zc)lBRP9%zDFK>Et1JlU0y8!HlY5Zi-PNJ@uhJW#BhyVUdMx0Sgvx0_Z#)_=WWr^)$ z!>hey7niN6c`F|~V;-UUqo1Obr?Y62$OPJkkQ*+Npy06be%p=1r}Q7!1U~Qk1wU?A z#z{=KVzM10>VQ07F0K>%0nH8JyTNPbh^&I7fW=>L5HlWY7vgOSvN<`D5UQIi)(JF7 zznxsuD-v-Hojr{=WpTVx2wxH(yxwZ9-zr-wIyR_0 +|IRt&xF{a% zu`X4QAvNl6aCDt8F@uYQs3~;#e?PDvh$tequJv}W*{?m0)P9_)QujsZo^lrLP zIu9$tEsZK5dHy_LmtdJ%0_`#pE5LpgPYct-bTDn& ~q+q`?$b)+{ z)gzrBpX!~q_lv?qC _7x^Lw+nB8A-b;uajIfTOs?DCg?36$ox+e&^G)x z*pzGM&-umGRs+}0UneDH&{t7r{VN5Y>ROzHi7EWUmqy3N{8#?<{CeH@~KsKvZhF({*L zC^R{J#Lo!6Fqa{#05}I@_)u>jsg5}v4Sck-f3v|~HQg<~jOpyeIfx~2Q#d;#tm`B7 z!*Eu>-d%SovG7Y1lY2uaX3pJd!}9f7oDUOp Fu(8G*tsW~enKqrR zo5?fwA{E+PN$fOV|1QRi-HAFjDg30l$YTx#oER%Eu7V>yG&o1&enxUcHZL$%EB;cU z{7>Nq|6<3I9zyib9O1jU?xDNQO&L&h-9o)z@T{E@Uof76KO!NwnVmDDY62Gsr;XGt zfjW558gSZ!P`f6 N3KKddl}vyy@@-c&1_u63k+m3Z4vC zO*E4kgYKS sEyv>i9 zuUnf&AQ;fpd@P7ftZ-a|tyvK-^v)vxOovx0; zo^vgEJq=r*oTlbM%_~W^F?-5AfRPJ{;7(QwMkXC czvytV%lb?AqjS|m_E+Yu^LH}n{LPie zC<};R?S&frY_5vqVjS+?Ly#k3pV~uQzX%qcAp6j*Z3l)*?HyH*(yT xE8%^TmIK8VV@mZJEv?sJbui@1hui`z#E!D-+B`H%lt$Necv*j}OT*pk=n z$8KM5R&4tN9c%vKq+@dg)pV|Q&|iugzKsuJEIse+MCAJ6M|pp7v1M%y^8{zYP ceqdG5FaamJQd>=)113@N~Qji6=8dHIy%th_L2w+{0YRTCJuB`Fm->cOm9;0W=tA zJn# vE@epx#J!*Lu}0o=3$ zMk6@j#!9W-)=4I=2HtMp6X}sX|7Wf@Dl&H@(m5+7K%_vVMZ- vfpEuq-pjkl8UhcBuedgp= z@15hYxM2r6gC9e5Vf`;h{GM0F{zS%G%F)!QUi@IQ)( z;93JTyxly@=p1?vQn9`MAjKlTcK5;F{#7X~F23;P-> aJCq8d-2QB zu)e!vFV+%WiotX?N48_#c6o`!fAo!jaP(4oP&062J?>oz=A9oEQK{`7qe^zrnE%0# zS$jV5f7K7{Z%`a1&7mV%g=1wErq~eSl{wkzVlbe`^POtyiA#~n+sD_8mG}Rdrr5Pm zP%-;)C|WOun 3@GEC!CbpY)3&@F1uik?naknpQ zIW0(fU9nl9X|A53TC56c-l1Fq)!Z#!zp?PKI_hBD*M-KMUw )tQ{0(p;hrFGycN zn`{OL}~^ReJj0VsKW?xY4bD zK5dMRJsSQZ`)2lJw=eU* >DgPN?d~KrP^Nz40NDjPK`e}8QR0FvE zi3?zszoezHmVH#rGteN&+jyJN9DZ2;1Ce>nVnqzm_20nnmkjaku_TE}za9U0DA-oc z!@Lql)X;12*l( 9FYY}3t`BDTL9?m$dMghien&3un-M^{&@IOU!!siB(U$9C8* zPR8TgAS))XmZGHp3K+p3JLc!wNz0d^0wktTP{EQ16i#88q4T@pJm$!O^#OAb!)upd zb$qC`Y}Iz4QTU US`Zj)Ya?-)Rbn84kaWn4C_w=9GF}6oZH6bVl z-`BSASdM0%3qtmz!x$CTLXtHht33+wY|>jXS=fm=_4 f@Qc$k!Ip_qF94DVH4H{wDhpJVyy?()nT$DEOQ-xCTQg7NK*VL`Mr$&R&9u#h*L zw3w>Z$}mHFGTkRUr{0C-I MrQDaRlyp4`9KEnlr%l_ZJBv<7{jgD2;#hw22wCy7rSQca|!p>wAKieYQ&+Qisg z|NV^w1TcWQ4}Ntg?n`UB#KhN8!J}QqtB tY* zhO@xisb233?3D)hZwP4SIvHiP`1UnqHNQdlH*CXfQAA|=`e>}b(L&xlLS-KeyB9ZV z-zSR;lX~zBRz|97 v3SS4
T1u{+EqEqY;{CjPQO( zkw815fWaDTeVfH4uv-7c3yDJ}`={&Vp~hPyXI{R|gI1F^8Q~83P*b{wf?XOt+yBTG ze?>i-4#Ky^=vmcRIm@cU=vm?J>EolimHqlR8TJpHUdt5ZKhAJmZ{)n9Qe3a)uvdM+ z%AQG%lT*@^fBv@%Erg-`;(iJf_}xW}gnSv=!&TMxO+!%@G5vJ6Qgvdx4SRGM151G` zRoX2elD *H zQB4!%GX52izOF HptjK-qO7xJIo7x!R^Z zYQ0K9m+|IOj9*;4Vh|vPAOj{^NaosNx1Pb|#&*Y-xp`s1KcnGqN-I!Q)40l#t(fLd zBj<~kB9dzk2fsbT&AdB;sTGV_1}~CDtC&jTKUBTx7agVzXo9e!SlXSU>5ay0FJ0{v zR(?nDY!rp+2fstgLattFspzm Eusg0u<^p2||L_17~I5DvjHo-gnX}Gy9w; ze>TIXl)+r3R0|~}@#vPyV=llpPSyt<^?lv3X>>`FTF}93n}Chm8<6`DS$L^_X|(!S zK`o_iGnL(Mlz6lRP0z9LIb@g(8+$E LbAL|Zi^69C)pKLB11s*UaC wl|*w;KDwR z&FP9ia~Oya7OxYSUPF$p6@B~`8(T=f6OG!}9wf5&*eqG+_1N8}4*-m;j}_$gIe6g^ zaoBW^>#L3Y6q>BdSWP<=Vm`G{uRf*sQPCtf(kzdZ_=?j@ba=!}dLKWJB#0D`GkmPC z#3mc*M^NY$L#}Y*kuf$MPdDkE32#*SE7!t$5-rZvvn?OUrk1&TON7`m+yEJBu_+?5P&%N+{OhM1wL~Z za~k$4R_lP$C!@JBz786j2Ffb3Y66Hslk!I=OA!IqoDQQmGvhqx13Po2F}78b801!< zXACPTJCy*SJEx9j%3!#Gm@a#2{exzGgmlc EV^EFyd`+m4@#-rv*)sJDjA!15z+*XFo=(=s}-~A@PqP-fo=F z7@D?~?*B1ye!0n5j7SZBesM`9^v`+6M7UbTl~u=e_6P|ROREzbaL05lRWLlFU&a-= zTe}K#Dexh$eeP>)*UI2oxUz>W2fkI1%x^!tAwCSDpd#AjWW;~t)jjb@6W?RgJY<3K zX%*hyXLs-rHs@Jlct!vpC6#GhR~Hj2vzlze8^d+k#!2WDX~~R2Eb~>hhr`Ig#-i-P zh%!<%;S-nZq1V+UaeI1jg-8a2$#-b4kVz6gaw-nKu8Mc5g=rBKpx+rvSyOUY96BkB zOxl75T{AqhDC1f%{2}gRm_5_U2DaH__TGs>q7q~$!uM+#C!gi*A}Fs7H%0=4@H&sp zVVx~XvM%d*9P_x2beix2R!8`&<~1Io%bE`>Z4};yvGy&TyYB@&_U`^rx;9-Dlq0g- zV;*kKI&;|Y&J~}2nn5?_BV|@d*S_A8)T$X5y?ot+6rSJNc%*lVEwZvQm6n7_N#9+# zO6lZ% D`aP?;xd_XcB%jk~iYN+5*{$zt=Or9bsYk`V4cTeN?m z&{tO+o&V+@uL$XPKL7oo5@AOwEgG3wV?ti^8B)I~#CZ5!-n%U*E-=#jFo^53Eibu# zs303@C!!DaB!y1kPx-QvuDqEVegWaY8xhQYD?EGgFi=*4PH+Kv^tL&^Ym$sWaJUfe zfwu*!S-EguWXWf 53+SlAVHn_#b8YER{@d7J@v0y zn`4#VGVMiwvZG$;kZh4#mdc>Xn BXjiG;ntrVQ zP<>7y<7I=uEU{*e_EMbA=}ygg_bn80;G@Hgr|s9}VQcMs^xpZT>hKu6VD|@+yWo0W zOxw5L19K$ *T7tuccB32uLTr^*NeP64&Q*KPjO zTXjromO!mtZ1Mo}?|=zpY5FLz-l0^|n%pB +LTA{& zA`Y9VAnTWNpdvJ`FoI4fQ&kYeh~v!yO{zJ+<9f)yM!H=_3kv4>xEdJ4hoEOh6YaZ7 zj6l$e0YKUv3jrW!8x!s#@K}*{F_+D0gTG{t%RY*t55dC8
%-Xt)AoT+z(fE6yqjEaL$4JG#N4BJ=|*bBX*f2aMza +g zNl|BOVl)O(5K=-cFO^hgNOe--da=S=cfIFtio)e7UaE$hQDX<`vkc2S8Ydxa5Nrdw zc_Wz5JJU$@jtSIm?kJYZ8SJ?%8prKXJs7*q3{>OXk+4jV2F()4H m2L8iOkRvgTr0TC8o (-}5LjI;fFSM~GLwLL=;dei!c*hQa>O|T z4;Zh|Mz+nROMZD5PGYO&c2?VbJYW(qOki6^<2ZALj=`oQIYlM=h6vBlz_m?MC>>fG z7-?Wbbd)%cF#n(&eYO^+L#S}m4v+nzv-Sr8(~@>AC&0R1O*`Fr)8NRUQPRBFv14V8 zvoFclyk8Q=KN?@S!5zg3;YkJIC-oH8pIL_i!vnD+Uw+SL^ga1FDw_| p+&6IBCEUWr4 zw1Bb1O4?=a2Z%S}v36(T@f7xAS|sW;w;cO*|BlLupdRZ0Q^8c1UrqmGs@R?uhvpv*=|9Di023T7wsL*&zlZ+` zC!vVsw$UHtroL_jzpr9EB1y_;K?{3j95B3b36wSnnD}v^ulA~r*jjFqi5L^X5ixjM zY5LW2z)4BT!vuy@dWf<=Z(vDPH*8#k8Mg!LtOF~!=gjz7>h+x7)2|~z?M<$oFJ)D5 z;Ph@Ht*vC(QI$2JNosBd+rG8pn g$fV&z#K9W;hXnaTopv4^FVY>=!=-p}`Yd z6;YySy{3aVNjy{MzzRi)*e1u-4I@bskmUD|?!^-t%AfwXD#!n?DhGaW-@mBY->@JM zhe#g%O`blS(#(T9I+sZVynZ)s2>^%#6r?4zR;gU)j@DFzI?2^1Fsjw3Z2$y;D9<8! zxw(s0huuN~cy2jKK(ev4Wq`zf1)w6-kvp?jPcCX%{}cSUf6Yz3`KIurDl6GSVX_TD z>FK^2bVAL%M3pX5c@mRZyP_-~J!Hp`W#?BOdh{;X=o!Kau`)yk(JEgP6}YL3-pVD& zo9Y>OMn9_8Mh0Oqmo8pKbSD-MP*HN| 4)I2a&o>%G>@B7NY#@Y19 z;6@DP1NQ~`64B+umda~T`d9v^lFpy;&(~hi9UC50C%ugE}HAZL{A{`VS$FCXMi9 zkvtwpa_Nr`G;(DEMFuE>=Q^B>@lg?)m}?2)%YXD{@+kBc?nU84<;$Y2K{ROgU)Y7B zV{_T!yW^e|-8#u6(juq}FQlSHLmw@uNKJlTTTtI*QR-GY%`@B4IHem{uR87QhzGtc zv6f9{stv^gm f)XnFUw1oh(}xC`jn80w zK13%D%n#(dF*?g<8U+x{_0Z+(ZFO=Y%aepw9VwX&+*?=6Sbo%d1iIIu<0k|N@%IM9 zu8@N*Dd`+uL0wqAf~LqFKF+@~fNzxUVuuFx3cbAXAL^8JvWbu!AU2}}b_awY9AhS1 z1Lwrppt+Hz#}VP}(*sy20i(*t)H*j}(pJ+vAy|1$jN^%7dy$d;$8_)&&p+M$D-k%V z{WaAj?#!n+{=|MTb4S8Ji>zokGdgfVj*G37x+CprpMZ$~Ac-8W@{vHu@cg4_Ca;g+ zIDXv_qMQUd4+`y1v)>#qCWGJ?4U%d(!XCMY5Z0-fDw``!v$+4ffVvH*%L+6PXHV7W z(UmV@Yy~CzVJ rQrU7i=Nr45vl(RC u&X$R78d1NJTmV zBW3myArAH9agvZ+DV>aTu+w ufE?M?tg(|4Zt)!Z^eBdps@mr`_`bgl~@rNM45` zSY92c;=}ZsUrtxqYku~6Gif6N4ijN1@#1yICsPi=bLC>f#<@Y#5JCrk^%4>8Ao{9T z;)jT22`KAI=@Q3FjXo7`Ed6A`32sy~n4MZGO&e4V2oB_>I%0i?U`tkp0VT7*) )9`|8G2}DQUxs|s7uS$Vd?w6cBk;}WHBHry_P){+ zi;-ch;yPLqZ9au*?Vu%edYf|Fi}phZNzpp7Omioy&k@?P0xNR1 sW^9hU5AvfximrEo82z6sWM0=x z69F6b%2=9aH^YFzU>oykN>QC65a0#j;MVZB2G@$$S|RTiv&5InFCM;+$y~D*>77rg zG5N{X?ZFS({okrhOj(2xN0&|?t?xyDPKr=OPZ&2U>sknfZOAuMsQN~TwliX1EarWT zOaMPXev=+_>q?jjEDqDR6 =x$pPumvstHo zp4s|JuNB;y1T^iJFcui7!}Wl8SwhbTS5~7T8v-Q}wNxbmjbgRZDioY7m3?a3aYuB> zeg2BuKj=lwBr2LPs->Zxx%L^@!9susl=afm-y)2ny4