From 91645366bb66010d7f422fbea3809b457dce337a Mon Sep 17 00:00:00 2001 From: "K. Allagbe" Date: Thu, 7 Mar 2024 09:33:05 -0500 Subject: [PATCH] issue #4: llama index deployment design --- .devcontainer/devcontainer.json | 2 +- .env.template | 42 +- .gitignore | 9 + docs/img/components.png | Bin 0 -> 84055 bytes docs/img/deployment.png | Bin 0 -> 64836 bytes docs/img/search_sequence.png | Bin 0 -> 100945 bytes docs/img/startup_sequence.png | Bin 0 -> 111569 bytes docs/puml/components.plantuml | 24 ++ docs/puml/deployment.plantuml | 16 + docs/puml/search_sequence.plantuml | 19 + docs/puml/startup_sequence.plantuml | 20 + notebooks/design.ipynb | 338 ++++++++++++++++ notebooks/pgvector_ailab_db.ipynb | 521 ++++++++++++++++++++++++ notebooks/pgvector_new.ipynb | 603 ++++++++++++++++++++++++++++ requirements.txt | 13 +- 15 files changed, 1590 insertions(+), 17 deletions(-) create mode 100644 docs/img/components.png create mode 100644 docs/img/deployment.png create mode 100644 docs/img/search_sequence.png create mode 100644 docs/img/startup_sequence.png create mode 100644 docs/puml/components.plantuml create mode 100644 docs/puml/deployment.plantuml create mode 100644 docs/puml/search_sequence.plantuml create mode 100644 docs/puml/startup_sequence.plantuml create mode 100644 notebooks/design.ipynb create mode 100644 notebooks/pgvector_ailab_db.ipynb create mode 100644 notebooks/pgvector_new.ipynb diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index 50f9dfa..17eacdf 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,7 +1,7 @@ { "name": "Python 3 with Jupyter", "image": "mcr.microsoft.com/devcontainers/python:3.11", - "postCreateCommand": "pip3 install --user -r requirements.txt && pip3 install --user -r document-search/requirements.txt", + "postCreateCommand": "pip3 install --user -r requirements.txt", "customizations": { "vscode": { "extensions": [ diff --git a/.env.template b/.env.template index 6f302bc..a69d12b 100644 --- a/.env.template +++ b/.env.template @@ -1,25 +1,36 @@ -# API Key for Azure OpenAI -API_KEY= +# Storage Account Connection String. Obtain this from your Azure Storage account +# in the Azure Portal under "Access keys". +STORAGE_ACCOUNT_CONN_STRING= -# Endpoint URL for Azure OpenAI +# API Key for Azure OpenAI. Same value for both. Get this from the Azure portal +# under your Azure OpenAI Service resource. +OPENAI_API_KEY= +AZURE_OPENAI_API_KEY= + +# Endpoint URL for Azure OpenAI. Find this in the Overview section of your Azure +# OpenAI Service resource in the Azure portal. AZURE_ENDPOINT= -# API Version for Azure OpenAI -API_VERSION= +# API Version for Azure OpenAI Check the Azure OpenAI documentation for the +# current API version +# OPENAI_API_VERSION=2023-07-01-preview -# Language Model for Azure OpenAI. -# LLM_MODEL= +# Language Model for Azure OpenAI. Specify the model you wish to use. +# LLM_MODEL=gpt-4 -# Language Model Deployment Name for Azure OpenAI -# LLM_DEPLOYMENT_NAME= +# Language Model Deployment Name for Azure OpenAI If you have a custom +# deployment, specify its name here. Otherwise, leave commented +# LLM_DEPLOYMENT_NAME=ailab-llm -# Embedding Model for Azure OpenAI -# EMBED_MODEL= +# Embedding Model for Azure OpenAI Specify the embedding model you wish to use. +# Check Azure OpenAI documentation for available models +# EMBED_MODEL=ada -# Embedding Model Deployment Name for Azure OpenAI -# EMBED_DEPLOYMENT_NAME= +# Embedding Model Deployment Name for Azure OpenAI. +# EMBED_DEPLOYMENT_NAME=text-embedding-ada-002 -# Database Connection Configuration +# Database Connection Configuration These details will be specific to your +# database. Obtain them from your database administrator or setup DB_SCHEME= DB_HOST= DB_PORT= @@ -27,6 +38,7 @@ DB_USER= DB_PASSWORD= DB_NAME= -# Table and Column for Querying the Database +# Table and Column for Querying the Database Specify the table and column you +# wish to query. This will depend on your database schema # TABLE_NAME= # COLUMN= diff --git a/.gitignore b/.gitignore index ab33422..73e0586 100644 --- a/.gitignore +++ b/.gitignore @@ -56,3 +56,12 @@ venv/ ENV/ env.bak/ venv.bak/ + +# Index files +index/ + +# Pickle files +*.pkl + +# OS specific +.DS_Store diff --git a/docs/img/components.png b/docs/img/components.png new file mode 100644 index 0000000000000000000000000000000000000000..0939b02f0b600302b64a9755d46023865a964386 GIT binary patch literal 84055 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

T{TW(Z7 zNWJie)5PO%fNMd@WE(Jt!_$DIP$znE%5o&OmH~tMT z4#8zyEAn9$T9tLwn*-s5}w9 zuwJZoxzbkgkI9D8p=!T{k$>lJ{u&UdI8d7pc@8RV=w=RrA?(wPLY2=xl-l@3;&YT2VXLj1rhvn+=pIz>Hi^E!di zoKdMs$Ae~daCC%eG{BLbCSXsd%xuuC!<&~eil``UXHYFB`8DoHJ9c(pC+0xX~B z^B_IE4_A#x;}}q}eUylwb56WLna~gsOZ-7%?j9*J+(*jOd6M7`2yF|Or@%7Sz#qI|9C5cgyh>{U;XIGHGN#41v8Zu z7;>^C3=w3eR^n+H$8*$lf=FRcJo(3AB`!M+c0r28fq@Gji9t9F7wEP)}Sb4g~eq1hM<=VdRBF=fW(&Cl6*R&0)+ek_Sm}wlHC!Z&r`vKl4vG=S%MBGsDXUY)lQL|O`#vYgM(3;Ri&UQ5$YvEd})^xhIf0v&bQ}V^|@Xyf(1%I7awJFB3r%Y-b>C zW|@p)I7_z!YDV07E$#ldL-NNw{+3|b;*tsd9Vmi#V>$pDV+s=y3QqRxi9h)oKqr`9 zyNqPOx;U%#!?2=ggR`;_mKyVx%3RRJ|_T9E2kFwta z*m4WtoFPH}_{4x!t`+JKTRt&Ry0P|?y9vYNra<<$0L^bA&b8bToI7sHaj?(_E zUMWbZU6zu(nxo(MkpFn1&u&>A&u_=CP9Y@uTY>KM?I2%9%F*=HZ>g8K&3NvWmSgzR z^cx$4s0XK%`1Mj%Q|Jpg#kQaBCs4PBz=LJ2^ZhH32%E@UUo>MH?br{89Fojz3DXq3 zzgBDQYv+%CUHjosbf4{vBsDU&#{4*AV5=Q|1d=>E@S=vQ?yaG9FpMTt5P7+7w!RQY z);tQuC-eiUhgeTqP>L)6s(%Po=EQ7?c~IHRrQd39t0YhMx?i1K=%{oNcKD-aX%&pI zn7c!r|H_3o)xyw4rUn9Ki}#_s{u|Cz>bKJEWZ z#8II*3(v`h#xCRMeZ z*<&;d?Wq$g69vphx%_Sc3as|VPjt5^|M6|7-(g)nC;c@0;?2*1Jrn*!>xm98Rn8y; zVR=Gt-FJ7)2+1HysLdxHAfLDS#FzuKQ3sJJLr9pQ8TRfO0Xu%M_ZPo)nLjG&rv+x@ zi-;LQI!CIK-{(5A%&QiVpT}ZD%|jZgUqWxu6~BzQ^^$pbZYOZzvj@4bcF(=IiRmwY zZsr97xs#?v-=?>czFE+e^t-9Sr~D%R^z&bJ%7!8FDmqiVjTO31js4kp6iTv3 zmgsga)ew&xT0yN+O|Ys)t?Bk-)T#}c){UJ1Eb7XUVmOt%>-}QCXbN3c{NP~0DpWc8 zc4j2eMzEhKVpeaEC5e<9?rO&mPRYg_`p@8jO#2+^CwsohWEJEMtYgH4JfC5DdX=ey z>jy{0z!wrsGAhoHk1-+CD6~(udp-VDh-tjs9-dIeJvA^Tr&KvY z zI+oRAB*7Y_SUyBe_o3K zx$E>Ha-_7&K)n1J`E3UA@EMK&vDhINWaqKQqm^gwAff9j@$xwG+x|mn+y65Q9C1eL zYL{4#FtJ2l%@~?FH9Y0`>f4_6e{GOIGRG0dkhzZVS=bfcDOUJp{QSa5`e=TxYE+eH z%)5HI74$FoFGg+L{o^@un32SF6RODz?#22O{y*-vBZYBBpz^j<6+vBO?3w#|)(v)xp$-@g3qeGK`w z?RNSxGc0l=Un5u^oZlIfR<4cyaqsQccNNACD|0XXnLlwgWXpl5@|Ga}Vj~+H;(hY+ z79p~vmoZ@|yS%B|_xc}bja-On{`lhdCnAQ1>|8ql)?Gwj)Rc0Kkf6$2xpq?-t5wZJ z{C)2jsF~XcJQya~OV|tc7_75Z03y0`z?Z@FC-)*^X=KaVsQeTGNb#AU+S{BLY4-Ck zpF#G(uvzITE?`6jZRc0is>Fw@+UZVbP`l>U9|~~W;+N4si17Y<4_~7^_aH^yMDf|G ze?MMUI&@;2Y<)|o8U~PUwDTCn2v^<`dYnEjl+o55VX^5uD_6w;_;Gu!tO2=OIY;by z7Dl8giqS6d=;L^e7>2H5DnpcWfToQV=)HzHI=j;a>;WX~biXtz26JTXZbZ(st&$73 z!3T`IL3_$*+|m?}HC66YUe_mUZ#LG|_ordJM!QE5!{fENxxQ@Pukg$-{Ply6T>k^W z)dEfSvb4C?pQjsX1UE#ajLxjUR)eQ*NtDd#%DIonN=8-hXv-ejTvhq+E$oB`Sc>a6 zsmlIFnVf%t=A{+G5OoWU_Ji%*_^HACwcU}w&p!d+)SJ8`br$I(x#Zt`AocXZuI#O+EzMUmVwllEK^u zR%y!2YHgw#($cHYVfj_L0?H<0P{}|>WC1p$AGiS^B(Qj#W@3bcoNyjVG6+!LoF~&H zYD-VXiQUQ72$f9=3URP3KGKL2MF9#vVRtJ9EEr4Z`PXLB z&X>frAybqH@m^wRG(rr_9Xs3ib0nPf%Cs9iIinE+o8o|ToT~BPomF! zQlkf~9+F4qMZYou4h`sl)~P)~|KMs|!K#3oAM&Sri1Yk18d4!C>45XP1;7zPWuNnn zxD0}M-kpH{eB2In!Vg5B>PqT=0qrRbUg$k~O1>-R@_vD^;~T&7M-_ww=;789VUlr@ zM_4{6iq3wU^5x*Y{@rGOaQoWb%V`_l+?(NftLcm|P_^!AD#^vGq8JLJ0cYVb5C!c=1^X)dJxtGq=EOgp4FW;^H_M8>l zpBRAHkIvDclqwBKA+LiLw{Xv0ry3bp51#cl?f3{c*T@iB^Wj$@-+ZFCYPNcs^VNCA z-!NEj2N~Z6LjXkVBI0h{{=s{r`;29K^y^QIp)}V%)!PwVarhfU;D0$-he!{F_t$#H zuUpE91Kl8_T6PhfsRyTtAE2 z(%S}8NXkH_9tvIvWD|GN#sdoV2w}nm(TcW?;J{)-hD;$1(&n$SX{KSg%}~M|HASYa z2@gvt80{ipgFY3U!;zB>pEldCh=2o>$6mnp_Apk4rsVdvyyjVo@R*Ej(|6wqgZ9zQ zI}m3C5@xMMuPMgMWqKLjJfl;hg^8fm|pz%2*bzG zR%!{EWw`bRV0CeXMK@C)fK(c&i1a@z67fS2C;p(jvT!5|Q76c~T|V0hi|+YADYq^4 zBv~qGQshK&4Rgi?ni6$LD=8i+*h@jD^9jlHD?4DqbcSrVX(t7gPZ7?7q)vR}H$-2a z&VDEl3aPPrPB0cdCK(wQ`HV?w`<2FCzFc-eK-P7*KGO{ltSP3Ha|5}2K<2-P(S-gm z9Bo^AIAfr98-`@C#NK0wVpbFX&9Kp=qs%t- zvA{UYpHM~b-wxUYm`1LESjB~a4$qJYXkJpqq@CDQ&;*3u^jFSd5d?q>qD|jSAM7qZ z{+TxP8$m@}(X2;xUpt$`p8reA_kc2g?Q?dvg3j^*r6s*fMFaa6rZkVS<1y1lw_WjU z?*J{2$D7hBW^}C_2vSBfwAsjiT@34a(Eag1OxL~xijzot0gC76=3~6+oAw~aD2wIA$UpwZWjlQMs8MLMxa*6U&UaHwdWxxVYs0HaCm3#AZ{3lXVoM!vb zx~KEIawCpvvV=EE3fxG&VQZVz9ol7c=r+-A@okma<=0Q#-6~ys2mN}YpZ$*pu((Mt z36Kz!ZE)j?u(y|=6TA0;LKN`A-m!84q0h${ZaQqy&BZzd0B16LrBO<>%IV6ZArxiwa3Ca$HJHr%Q?=_#7&50ac@CMw*qS_{ zP*m@UjQ#T)y0YE#E!y(P#+6^|yH%!gJJ%90@KOX+otfoy&f+}i2|2@HoEa-lN0TeG zl%Yb(sgXfVp0RIJ)+27%WAc8UB~I#<-Wn&L7SUKJrz%g@dNBIg2z*xG%Zy6~7G%z= z*=eccQNmH_HVjvq!1otSOr7Z2q^RO>$6tHhO11?Uq6-LK8`oPi2?2jI2`B9`$n4(vRwvG`~P<8=E?UoWE)$&$cVeO$v z>cCSq-=}N!g0n_NCqBt^ETw6=QAa*R?LGCmqXVoTbTjjU;&&Fb58Yo!9X0kUuvANM z1WZytR@Cc;?$By6s#5Mc z4ndPpf)GNSU!f#l0zI2vQl&?RID z9gwlFFcW$DV)y~P>#<7id!m?!b3tYD?~@==;1UuOyflkeM{=Qf{>0D=*umK~-otFm zLP}+V>-rD5aD*E?^V1YeRmC19e-fw{1OI(%Rjr%Vdx()|8)H>+_TX&VN{`mv+e~*w znyZ8d=Mxy&s%$cw!R2GzdDD7ubI$?eDdnXw;^-**zt~xOjazIGueZEJb;0`G$6*-hos0j(ENcO^Q~j zr|Nd6=n%oGx@?N-^CB9r*E~(N6(`9xZ0ffbK`fz%MafM=PxCBKIE!Wpc}L^;Vu zzt2em8sdS}R*$|ZE^XlsGRiaX$2`xwk=_cj{3M<`=@S=PgZ2yW%)cw@XK%SNYB%7R z_>D)iK}7a=D~bDD}$O_ho~zZ{a_Gvr6Sa(x)+{xWfTHkymf1}Js+@9 z4$s5*5Jr*@q;Casr)><2--zwqb>=hG+`JvO8RV3A5#q=1MBz+As(9+2FM1Iqtlz}T zaq6kNXXs*_I`2@mG$G-is!PgH@y*$jakuNZtmuSU&{7{p2BMPnPf!;6S?RNpbdgG{ zTE#8GButPs%535Js@>=;+9|+;wb>p|Z{6LXw{)QP@L1|;B+X-tINnDhxsD5JJQv0v z99>|i`S?^{CP9bh*b_rskjfo~_fpL5^pu*L5=aDYs%*!Gq#RyUhH&3WJ$R8F>5IK> ztQ}j(e04u=X{9#!f$~Wa+jf~Ofnzr_zk2QHCu)kI$l1c@RFs_lDK{|-)n!&fSg1!? zXODD*X3%sG0WdNDc?cy;QNZ_=FQnFm2hRBIJ+oyPMikr~Etk0CWfY#emD5c}S()u5 zIaIxTRq>`>98+{Tqx1VE08X*Vs2B7}6OJuT@@s7tn0 z$Ez^J$txvi;oEMx34{dZUP_%tYb$4wVon$1!!c7)v)v4-{43NiDnH%2f18RQw^PRX zM$)3*aB})u?4^@7d9}*ma`D+~%GgPP43Zm+Ba8XMpEQn|Hnnp4zHPQ)wfi4o+}Jw} zx+RQ*XIpCL3R?JVpT2G2_;F7}OyZ~{G90fuqFC5YlQE2$m6Ie+-#9vtv({%ZO{y*V z1@!`Dp#R*N((Qnd+uft0<(=Wa*$Gp0H`~Z*nO~AJn^KPQ!U(WuQl6@w!iR0oY5TXy zHirDHx}DS#l0+&itt!=S`{WO0^U{v1eRet=J(+o@J~2$z~t(fmLR2wBto-U(;j- zrQ=b>qKCAqo)XAT(avu~K`l-WaUqQ(){BW!cE#u@KvjK+Q9yI^LNN}uQRz;X!0~8b z*11c4!<4sIQmVD}Gv@_u{9nnhv3{FZyg(H#AbswO3L8^YO{vez0bi4|O!uf7IM*rb z<+u{!ZebgBioU4KpVjSC*gm%*@tHd#yzB+bXW|=umw6~Gtdbtk%&8nk6@3{RHI)#V z=RmO+(s$)fZEJSBM`dwsN(+U(YcLw0>yj+r##3E)K2u5Z)Nz?!+l}Om>GEa;Cb6WK zLvk^=VSNv&Y4`g8VB_424W*~{c=GtDIN42Pa4tuJ z>*bpzx+~76+Hal-@1lRX7wIc!QQCEuaZY3-9DrjIqMZjF^_O-;OLZj2M%r4q+Edsp z&S&^c&YMN#c{d*tQyk~ubae0O9v!OL2=?$LRPD5-E_$LCv?o6hlN9Q$XPi3`$s575 z-FPFDs8Xkd&1&<5OX0|#bBN60kvKa6UV#CIJIxm}v9Z`RT7y+-iUkqrHzx1#S_7D0 zye1E!bi>4UCyk-SI!lC_Xq?QU+Ge_4bm8&A$1hu%LT^Xe%#YIxRb0IA9+BSQE80Eb zsa+$l!dx#AH@#Z5v zdya#_t1BTiE}MN(QmzyWH?n#{8`1|zF??}LZ~UYpc(Ik8z&=1haA@NY8#$_TaWtya zqd>`kOlhXT+IB!4C-4sWVkax%{=PM-PJ22d&MT#u(fDr{e)g~5wmWw%o!RloswYTr z>m7S;g3_WtY3#awEBR2o$i9k9lE`gE#|u-o6pP(00a_iyq_P)dz#E+j zcl_lSh!w*eA3v<(99H+`4qu^j2(ft@Gp&~BTeD6{Tw8@%|pz-iMKvbhkL5rQGN>S_(gd%viiZS9`^zIt#OW8)TvrDZn z@H1Ot1|151huAu$^hTNdTgJ}`>RVDggvO8Y$>doIlPkzHzqrM>tB_6HV18|7Okeb> z<1HfXAjP(%_k)gq#wH$-a#Sbm-j=$g>b`q~#k-YndPvgr_@uaV5f|q;;Vqq;`cey6zXpW;(VR8j`Sq`>mM|zelg}J$}_tv6qbJ3$;bRtE~~; zM1G2~OhU}+i8Y(*;Y|atNF_cF=2GgqXG+^BZb1`@#c~rNcXK$Sn?(c?KZ;_yxs`oi z#9bn?LWkFe=ib+e=m5{o_AME^7@XcK%6{TrufA+#7t0DJ<)zU@r@QjL`L3BVL+5yf zp5kv=PISuPbGu zA5$k8-llEp#b-EV@9&3P z7Vg%+64(NTOVg>MqJ!BQ!L8-Uep#8>Cqum+cwiPvfrss9VJB@`j+(FM9)`vqW5UNvvtjys(xKEa+>6^av7@k zC;l7(BAx}094lxD6`GCPNAKN|6R&XoGgftqm9zeU!p`FGtdG02^ZW&osuEpBd8ZX0 z>~G3^isj1_$!={*Kelnn^om1QuS zFVR&>Z2sldm>OfJMfG=l0#SysF@YU-INI`GtXI54k74v}=9M;NRaC5g>c`@;c|5WF z<~5I)(;mGzPR|_arHhTmg1R=mY%eLkP&&x8Re0G-8Z_brS`mfL?>fgkc>QKzI__CE)NiNlybx227pz6D0ZeIwTK&tT2N<-Y>I^m8T!TcOtJmiGr&FAQ zG?a@Xe3is^*|!{qb}J-}51{@`+I8FRD@Mz*R2s9f;PD)=;kKfbtRhR9@&a_2eu2DN zq4*{%4`WD4d_z~S?-3>69v;u*X;z0+dZNlv)BEz*G74MB_VC|)2yc>+DZ4@x@vsmm zdbHzwW*+gQiY=~KG*(5=a>7?Ou?0Npwq)5vX>jhMO7&`teVGkECI~R@+g6rG`(R&m ziA(P|kU{2hL(KYRW;Ala?t5tVnETFpw`7F-b4^o(-hN36;olEhny%5!O=p}9Bz_*H z#EN}$lk2JvvqRU>zI^}tC=ucpSL%7+TzVh9pED$|StBEooG3pI5c`#HJYjFHhy{H3g~&*j zlYN@IB_)5=HOeHDnnz)lz25!)Bs3z`?q#0p6)b$HA-Ynk4+o zib)TkEPV*r!okWyjF5ty+mqxxgYyNJ&N|aW#of9emI`%aPZk19rUbyGz3`vd$XZ%!$`J+8$i)D7Bs#3(pU zEpUG@ys<>z>ccCY?HX?frL)?mEv~=%hwz`MPRAbHOt;ZAk9021NloJrJa@|)1JhrZ zguZZCL#Ec~T}gEZ<(c{l8fbyAjwEk~=Vf4QQ9C~(`c)8WG`Wn{67_bx-{OsNvZasi zkTIKv;X&3(PkCZ_L$t)QKe2`qPs_&5i7IQH;x!-l$;$Dr^UfdItKu}gM_QK-RkVoD_yp^2|kN_RCf=;FvBZTcnD+P(m+bl|*4d!)za z8hg#_eJSU&Us9Ihs;L&jMob@0(}`Czqfp!z$#(KB#xs$=G4}<_grTFEOszJQ7F0KPn?+2*!Oxl$UZb}FohMn`)BjP_Zz|A zR6h0-Ro?j0pXa%fpv;i57QuzSNlv56cM(#y2-D{s)h-(uBkV=gC@x9p)))S0@I5gL zR%VjIQ;Tz7weZuWT?#1oWq3I-70zQv_7dsTAmsTier><%Un-tPnUxkR6ymvwg#-65 zQVV}6AM$f9#H-HpWxLH}mKn1r)vasVw~a3tdqOJg{KM?9F3i~UcEMZ@w=1&+0m(KV zjUcX~T@R@jni}ePtUJt9sRBZ$EotpEIVtzgeC+mlKPf9zpMF2mH9kzyWH>Z#1NIPW z0jcM%>FXvbM9fG2D^bCPq}afeAGusH;aBf`U4NDwO=Hb{mjYoJ4QG9}w~|`s)ldA1 z%kWV!$+6O&5S3WN*cVUp!xJK$M>&$E$-At^i68kIfuuz4pG7V@Xt!e{AZbHR?UbK1 z9+h2mU&Q`w+_SfS{TY`9E?*l8pGNj3R$5tvS&pRnPp{(Y~c4<0ja=wl{#Kf1FN_hekL9ay1a(2Z_lbIQ1U8tamvqty5k z%$h#FL2i_YdlR>iygf#K0`GXL?P227G*O?e%xQNL8Sy2*wiRPF+U_WE?qXl}ik29s}0;Bu*;suk4fJ_;^k=$cbWp)@W_N)TnYIwRp};neutW1B>3N2C_%| zZ$t_PRc17%`kSeZtK%y!QE*juXIxbcW}trb<+C^A2bZq3g61O5T)`cQ(}kCw1YSYa z-TP|76N#xV<{1Vm=X}f1DybH@D&%?7NrmlVS{?Mu#9!mp_ddDVw1$Qn>Ap6Wpk}r! zja}o2cRe;_7Eg*0{Z0Cb^$rmI5RBV3OJ@^sP|Y;t8gsb6`z(D+_1)03HPfR0Zv6K6 zm+Gpof1l@GV0T!}Nm--v@Fe3`Efq znRXt*P7b7*)DavX{s7JBqBN~0OPX$`ak{xES@BBxa97(!O8oF!=qM5-P z7>NO?0^N5nwZ8XEi;~~u#3yTvr6SkfB^hy-+HhG_nonGIng^gjx>wT@K7R()NVfDw zdOjE4N#VOZEO`&qx<5v!#mlgL^NiRJMp2cR?y|HP^R$rr@;7aUT~WIt9ZUUaWoyyN zX!+Qa6|Mg3zz=5r;386CCtl7y^;rFUYC6^c-pGQcT@$Ic?n#bK;EPE9A~gLZa;Yl9 zv&*u_f40kVSx^jvOIq2=8(L!(1ABR26s4*Net`7EvCM_KnDtS_Cne9{SngE}z(SDsJ9ACdGO?rBiGUL=ncC!~5C z%<;tHyu9!+vfbOSPaLBzFEihwu4xE6mo3SGe)R>jrxEc^i%E0>dDARfM+pktPH zZ$V>MOJK6SP`No*?Ph@M#Q6N#NN;IFx}NS(!I5*P_4l4K7LbGbyV-+Jm4+02wyulb zFq&=*&BYr(@>V*S-RszPS56dsfokpKVmqQne4qX1tRp3*pw68yH`M7ZZYsoUEAtVF z0x=;%7i0`-1k{0M;mR zdbTR_9-C`cT!!zTLO*eLJ~yt3A?~!NTBKVFj`ulS zSoSG4?KrQcOXJ|P;MXE%3bR*6vXt7`{dh!kg0GK5&U?FAu%@2ju`KZMb1Q@nsHEq2 z=H@kfFN16VF_lx9y1o_k1*W|qD9mG|R9Fw9r+y*R&44Y}791LriT?ViqUhSGcW@q7 zRBfnCa4&n9*-G-{eFIX8ChTUT3FC$8_2qR5|5Y_=5pmI6j)!`}Z@4kk*;f7D+HXJN zMmw_?wVm8-V5$&85z+6I{8Fcq>#e$J3HoAtMk_r7pAx z?1)8wMFquSDAr55u_)J@+=@%V| znMB4s>Tf+kPgWK+QKII8lkixpj-g?G4xgJ{5XFbqZe_(Gk4+^TQv=HBr72%)$>~ht z;yzpEI(fDa6!@JwwiXbYk_YeaKl~GzwjI)U%WTT?q7Z}%pvp7}KOW=#HuQ2fV7!<- zjc~HKnALy9M_qiFNCvwdvhM2EsZAzrbOD&*qGZ5~ia>El-`=J$9-x*Or0ARmOa@og zhi84N%68#urH%J3nRDDf%VN`NG+(DqT3-kX?ncpR2#HdTzo@}PZ@paB90!|~-G*qQ zWo!#yvarI-89t^LX^&m6-i~8;DeAmPYb^CcSp`F`sW^o_O@;sh9uI|SG+INYC9W*g z{U`j*2>rc_fwa~7!^{4`)+3ltT0-k3J^d>_dODz`(u5gJN6f?vt)k7w%S?yuo72jD z$!aUH`LoB#ZQsdlY3N&C0We3pObI@L3VyKE1|P-+u@2h@7q(Wawdj>kFxvXg+z;a5 zvm6&Bl6YAFFdY5HR{>(_q`o{prn0Rj@!UOg@d~PZYK)C?5)~_E7hic+%j)NSQJ1In z`5ftJ3!R5=sNTk0u8bCf#I4;MQ490h06YNPJQuD1j3!6xZPU+-E|2*_$wyXB{YS5` zJ>ka(QWk#O=<)r+6Av{Qh-9b&q}4^;J}+rjl7;5kjj1H3N_(GKR#4u!6d&@COs?ma zpP6Cn;6?kp$%WGKnR4tCLYijc>eQ8|)8qVaI5!)UOh(38pC~u@Wyjc5?wS( zK?dn3pS3 z3(zbTfD30yRusl9EYUc+ohe%!!R+{yTk-xn5dQ@ETGc$nXxy{-v>S^5owjDMzC^?6b?Z#0DGUW3Haw-f>fwFkv$7qV zqVh2hm-H5Al|cP;Oqsf_$Om*+{WlEPZO=(#zF63LdOsg4lIH3Q$-w&KX?WM(`klH> zvCPJwtXSEir~X=R>lBS87f=B79?vTxlPPlUf|m4J-B^=}=9H1bPW=MkqX}0Ikp?z! zlAM{9v)u&T!VD#wVU|yfimEz=bY-hs$A@W>L&Bez9-&a^>pcA|t`$iL_$?H@D=nZ% z36p5aby^{6ts#|3qdK~xg~8kX?5e7<>JXn(+zBZLvaWl9U8lNFNkHFrBLg1!rBafa~>SY<8KC7hm zshDPb&zY?wYvm@fd(tT~<86ZqUM*{ZYK^kmGw-$1KkKdl>~V}NGKxqvS4D<2qTb+@ zlG596wa~@rdBjjt;Tijj9P5&^XP}YY!%Z=l^m&(QP)KC8J=+VeYQg}6>%KT z)%3wvdY7(`T;D$pUezcA%7#wwT0W-h>s*sAG!ovTiQ9ua4Urza&N|I;b*jYyRH~{u z-K7PNZ(xunBu>xM7^Et>OtLwK?RWs~h~&qL`v!o)qT7v8rki~ggey`kn*+{WWRXO>Ft*it89 zu_+Z(aMhD);dm2+->6k#CSUxM?c z^PF((^%oy0n*6=#SD%($P(4n|#oc>$H1hqh`k@-8d&lXFS!gwOnoa3zq#s?YQ7?9( z(pZI%5Itnxc@9@0@)aJRyL~R5?e|?><_dPUxzt~MB%Mjn4Bfj+^Zq@?V)e=lIW%@_0iJp%K8eS+Z=!V0w0z0-NXI5C zZR5o|8hxUk(Vo^p&W|aHaA%C1{$!o5te;NNlN*6uXcEVLyBLz@S8eDU@7`c7G)}*N z>L!k5KhX|@jduoMjo&&T=}N#O*zAbPf7TcPc8gQ*d4~d&Ijo36KURtDd4!h-*hLAn zho$4+ND$Nt+yMR+XO2{S7U(g!yxKEu=l+`Hs z@O#gt4E6MzGl@M9_a4q1a$gN*)S57j>VM7xTcGY2W}xkpRhf#=8)k`|zotz-N&Hpm zipiPb`aS-=kVQY4rDcIe&3B&G#y;^b1n1ePl!F~Zy#g1bOOh&$omsw^f9ROyw`kMc z2&GmyMMV9zI#)PT!N`^QJ%wyB3lD)wYI(vHfBT23+O@j9!IB#)LT>5b=N5$yR@<>n zQaas4t`KQibx}IxNsVR$H2~M~jRgZg+oN93m*_}C%80*_d@A5`d)A4`KB{eec!~T> z8fJX*GM){fSi;?@g5Ap+*`87O-F2&3e9S9t6=I*L-6q(W;K{32npO0np<8#Vp>$37@#lZ0t5aA1@VA|oaKgR}5t_vY{h9kq3-=#(lG|-=M|qj* z-%|h4&u}q?-WgGB@XFUbX&}A?z>D&}|yIu25TN1cLZQBXbe3wL+zY)I)*Y-Y{@j!6U^!8oBuE7`z z3Aq=>y>Jju?tZGO&2q<$W7;ZCYsqDlfs2gh>V>1eu8n3T5B7u95A1d8LQ%sOQ04ATd|Be*Q(D<|0L{xHI?csaP?puAkNHlQ=V)-fuWDJKwXc7#atM=# z6`m!1uu@;z5wmnT61jm};#RE}&f1x@vH92yT$q)Pr|T|Bs&dvhDlSthWzqbc=DSYZOAg}0;jdOf&M-cr{E-8dZYfB%Ia+;5;;%D+2 zoqgP#+P!f1gHq$*6JTF+5^c6>E4chYV@(;AfyXV(CMJ7==HY{lE?Huk%IkzDQxeCL z=%cKEaRDHt;FD(``1sU>Qf(0}dvw(mXNa8phRXGltK8{JdX9I^qZm+QwrF{`k40o*DV(#=nAy83Zr^}f2+?{#fuk(_Fwevap$`k^2ze%+MApO>7EBN})K0i=Kq-7JU z6#5NOmkx1}rJr#Ud4;C?j+T-wW8ZLm(Lc}^Ek98spF0B7BgC<3^ltTsTz@r8rfB*O zv;suhFnu`@49)e(LjNahV^PC_Gi`Zw^tkTD6tdeMf?`%L*kbo<5D20Ip`@U|Dt?9a z-s@-e@^{}6iS2cy?Z(?TFX`uNGIw&Khxo&?UHMLE;>JsyY_&urb9GewWUi@t}FlYzdG+Eg@CFtO5^J9 z(TAtaCry$00BoP)O(YuUDl8p7eTe`2g(Pnv3}J7_XN><`&m{}ZjN8wQM*rrIuCrgS z4(~7d2nSdy9#P}u?$2fC4myw`;>jeq?s-?ai<8l^-&cE2c zQG2+97;Ve@#`NPaR6Y5}d6S!+ttf)Sd-ruQ{vJb=Dj6)-Hwqn<`$+cv8FPt2Gm`5$ z27`WsMt4pA?@@>TMC>|!j<2i#8sCHWbR&BPypY4sJ<5CA(R4YKCVzLXz&xY_m9GQK zQz{M9YlzVEl;7xHXHJ!3IZ(wVr|S%GkHPuNb;p z=G2~dkoI-o>YNyyfnl)?)~Y7b7HAjAs&^DwjEA665jqMz$VGb`O-J8ZMuGP8D3UwY zTlMQcqtIv%Q*Jj6PcS*4RO+j-+wPQSWqehwYB0%(%Ij$rJm(1E_R`s_Of zh>zbqS%;y5ZYoqe@;TmI3@*FgmsZ<$&*P$Bv+(hR~u=*)%E(`2Qs^qG{aK#=J%l; z`;)WoVJwo@SjT|ITh-^g&Rp1`q7?3bdX73v%&~|G%cbW(8hBAT(8-;%^z0&B(bli- zp$hX$hX32_Bfmz4IIHW-dB0mU519Ec?*yZF7FgihQK+b@>k|83$wC*jvEP!$N5v%tNEpdaq(KOYRP&L;ymJxjtN^N;WU{bPy~!eif_ zTEwt#N&oY&cHlzm$CqpU+kgFfreD|mf5Y~V0sMc%_LnXHKWqEPn*IO0Nbi=ZsQh+D z_+fQGMB#!EZUN-scInNh!+q$$hh7I=x>X+J9}uFd1G^clPFn?VE%WZ0d67Rh_2!4UX+VRD6gZ+m1izytKsvulmIawyB zl_z@~r;{{9<8osFp;%Gj*T?_5FMf@$SRM8r#h(ZwWfp770hmB!MNqCgD7VA^*!4(k ziIGj<8hzf+_>+T_{@ACF_c%yzSb!Sy3}(jf2J$~XxDy?|!y)PR1ID}m@Oz|1hhx8> z{`Ej*$gbd!@FD2e|8&lxy9j@VhW&vKjI}>8^^ciEMMEs?aHN##PbA_@BHQuH^ZuD{ z+b9@cZN(~@Uq+Df1#9k5|8k};+QG3z9=Ys1JV9{Ehy7OK{b@!6CI``@|FoWqDOgC* z1*HU%b$MUv9k#sp}K@#&AMYqp9MngSd)nm za02mKCXl*9nU*VgRAYK=)MpPml&xcI;_Wh^km@SA2JM+YdgU8`_R1fhs@T*!CsqeE zx~{KiZiGHI1@N_|=IYNw^MOoF(s{bU>9_|8*tw_7+>h35UJyTlO1- zb$MfZ;hqHb6b&5++v!J&gQVmK$t$^g6T}#^J}0AL#7;T`Y2#(+gCE_V6toCC@@t5H zE;bC)B!o`p=YruNbtY+yzE)LCOMvttKpYbv7T~j1*X2xp(9%+jkR7-+qKNj_U|9jn z9go~_8cXI%SZ+sg`e6zg`lac!1OL1o+&$$cdJRV2&FJXg+})Pwz(2hSCFDl@5&!6R zfen*G3Q{Ygzh~yx+@cPV7Ktq#ID4!VKy+>$yRz|_Nn)r9mvr^LIsseVIfH*$SUjWY z@uJCd`oHY9mvaGHos1wWQ+7P1HobiFofg-Wgwzv zpIR2{IT5Afz0qodXwv}|CjRUtREOu}Sxr-rbBwjm$!0L{AwuL=pvjcQ3{c<(z+9b{ zg|HU@W3SmY$Uf*nIxBk_fB5CU`%T?s*Gi6NO?+jhp>?&Kn1o-_n^7qj0$(IMLK znqrNmz_2ajD=Q93gudaAQ5zvTO>D<=Mbh{GRdNe=;eJfma)-8MU~;%A;O(hKa~+XIAIDo1wlF0u3;u3Bk6>lxp4)UJNdNxzJ z0nrQ*nnQ6?*aUgN)D@4yL||-zy8c^W<4v3-pwk$#WJsdw|%|UQ$+` zO0x8#^HK2Eb!$ZU|SoB6GDC>$Pz`ZN3W*bKBm-Fh_fgAK>L)d+*cia z#oli~BpuOz@k;~3F3Y}I-c0FWxi3%g+V1sZ6COu5dt`yxYPiMXM)kuraT8JPy_)TPHSfjpEm*jw%+N0k!h>P*5*VCP-xDhyCfZ<5Dc?A1_fuOufy zsE-k4m|*WFrP2T$LtBIeys&rKh@mmcjv9DJBkW?{$`=@u?F@r95kugq(Oj&F^`Kg; z7cM6|X)*5}rHYoTH5ZQ{jDCcpWH)IyI8SpZ@No(#hZu$iY&YqQOzRg5eniw4wq4Uy zPF1GIuP+H->PP1omOY~_J{j|kXksvk!zxv718RrIDs}B#Jb|B{VTX$mK%0@LT*wa?W5-D9J2-FC;{?wfb<$$o&l$G{vDOP z96AFq2)9l%S5sI4@r9K3FWof2zdaoV{ksQYSb+8Oj&0*m&?VBR6dY=iHBn! zA`Euh@+fFcoY2!)TrU8hF8e^X!c}+p9k&CSzq^~NaLD;VX*`aHi9trV^7t+M|d@ zM!M}NkPwh=9ko{54mzA9M|Pg_R82h>w+Tez7F*>m&k@GlBvlu1VKzE}E|J*Mm$P+x ze46v(M|73Z=N0Isl_Kg-7*rG#HQ?H5FBT}Ch>VzyQX30t>~}9SwvT)fKE}PnFG(_% z#*W^RE#>Lggq_cFoPF;k0aaY{WKh=`S|&2HZ|v&qBf~=3ISz=srjOw78RNo{?cA3gyM1q8Zc=(LMLMh&F>@ygAw>L7Ln??Kf{>JIA*+Iym+A;0S1~xwiGw%t+u;k9>b$Vf;IHA@7F z-&wkan=h9E0Wx=D5Oult&ZbrSWGR8V+6mKTyR2J}aAfbF6F}#9=CUfj3Hr8|oLSu% zFYr&Z7-mx|#w`xku9x~6zwnrNr{JMo@!eLN?u}WtXA4Va<6${%I)8U|J+kAiGZyb& zY9gX7CFc!#8>34X-w+h8-}1{VM&BQgpRP0KQi_IFLCX)DLqn~ya66B%wawG}0TjK6|?y zR8m~%P7DOxU|viM$2iM-Yp$Aa6v}Gjh2&W$BBa@ivD5tK3PM5)DKx zQYwWGcLpt9nozv%Y@^N1OuBMx^`lZv14)5Ox~5t6No%fT9|OoGo8=! z)ezdWA8jQK?^%h@kWgf6MPnP8VmB&y3k|lTo~412Na=LOQO|T_<;Z}LzE_l+RGyl= z7uFHWt&HYJF3`Y{e`RtS?WtKmelpB&JC|4NJZFJc%-g#ahD{ zN#9CVtz(vEfL%3&n1IWoL)5Z>pz3V!ix1-8NaM^F(MtU|j~zMS4lb&oqnq}*2j78jL``#`=!7iascCuBc`K$f3GosJ#ZiIy@=w++nlmK|sG6pT2 zCl~1-`z4Mp9o4^>^z_JMBLV~ZOc3^dO{+*j#|~q2JuNbr>6mp_Aq3C@;>SzHj2NS} z33h_I`t=?1;clmKLElWG^!S}QR>G;4mW>8bJfUWM#l~tu+yn`UHTW?^v*_G*U!k`v z6x=4M*oc3{MTi@0LEPZnUHxPGb81_Q9?7Jp`rKr3ejdCJfdS>@m-zXCm_oshu=5)nBkaGkRkZjP*XmI+(e{%D(l@<3m2ssRub>-e=yBKe5dusZfD(2YBQzKUwRYTfx+zmKD z)^a0I?wJF`Gr@x2phqr&wmnMB{TqaBh=P%KkJ!8zlM ziX+71Tmjy4I}mT{+_keAW&Z|pUszp*L!~wfx&`>xZR<~$+)I$7XRX=gq&R8q4TTF5 z&1SQHwy`i*?;$Tx^ljGpw8;AQ_!c0=={n9UTQrk~BXlIRpcDByg2cqZ+n(V_8)v{W zM%EP(!u650ni%VA5YLidK#-#0UWXa|%Axj|p|Mz@;vaX`W|GPWU;Eolw@V$VnpL!lrh0;?iDx8?TJPBGQw+wlTT}NhspdE1(*4v>B^0YM>6e) z#Zjj^^9`QzeLxQNrXx_kVNt_5^-g#WSX4SXPS#u$pDTK~#6O=yZDOMkuNmKsaOnAk z5?H8}K1|i({xX=mz$CGum=p4?9*=f~^ayhoPhxw`GqrmW7aurzyTjqQ5Rws)*)WXu zUj;?IXCK+V`^{E-yojHNWm{P$h(h$s#nKUB`S27?kL2bsf2IWI27u#}l^Vf;79Q&x zA8?Qvi;yzZdBVvVl#6VN=gqch>cT|6Qiw2QXcU**tr`c{QU!=vr0pVvx>kf#xc5rh+&Je0LmwbDOTTYmSwH#i@0GBLtb}h#`h-7L zLMA$JtQp7aeLgL#I{`-z$PDO=n+btP+a931VpTjgSEjE3>zCuFsJ=4uPwz%|-6%O~ z_-VyFRshW}3IqDuCx|N;SP%Q>q>BUfu0G@xd3VMia+R5(xE2jO?_hXl!EGMT&5{5& zHuLC`=W>!q(^r3xa_m6_gw~bBlF(dW)?aBmW)FZ;WGARII^Kb^p~vg{C#SjnjCs5t zj!(-1`IlWzNPB#c(dh6XW%<@Zy zuVWAHAC40faMTya8 zx@Hn}ynVwPH>M~Gi3jh!-5n66Ba3*lo+R8F6Z9?2q9Xs+^aeFY&4t>j$HCq72x z?}ghq%*`0y-IMoVpdAv&xr!T!hQ0;>0^a#l%#&~Z7ECXD#W4{~qvxn?vJ=(`osdo) zVX8x=03{ZU>VW*-y1n?QgLo?oMxLmi@3N5A2M0Z%tRp+$8otsZOk;kf4`<%yQ`Y%9 zrFMo!(jgrdf3{hQh}3nowqvEygudZk$4WP$L2Wdf`gv?|phHlol?`JHzg_o}m9F^F zetth=_2l+bB{gHuO|o@7kIBl4z6;@@%IU)^u9Lcr-4qrE`5`}U-P~o$`+trBz|bnp zKP-*$b6ra&q7UiR4aGFL3cwz7BW00v9uYSx4AH#nE~#4Uy)(8o1VNdw5331hjnXN} zC)j!?9g_Lqo{3ZCfHVvu_Gfucj*r=a+W&QS&|DBOEs9=y!qCL(lhZWecnqs2w@}MmU5NACRJo2KKS4}HWeUiqp zWe))h**ViXU(Xnv6Y{IZpXcQ!KtejA>CKXpzF`=JZt&L3`4my~h^u|J*X%K)#?O96 zl-=mBR;Mzo5=ZRf%#e3*m((zfP`d+QX(-=3ee`^aF8%J9$gViwZiMLN z_s_;k?IG5?*oD5hlEJsP9=wIZI9w4~-gx+mV?vaeT}E4JP~lz1@RKzop@o;nTgP5s zQX&p$UmL?4%?cm9@LBjX#@T$4m(MPGdQpoUYEG*i6B#?74qxdx{rF5xMOby{ASrhZ z%jFNV6)m=l%!TWhL`p6o$)V2RZzZLt^0Ax4Utu9gnJ(BdOz;;F#%rMBc2s(W-R$^5 zLnBl51*G0~Vk8^SjrX5=r@wXl`+8yhx^2)XYW+$>|IR$GzQK_vd#|~kdEBWVBNKFv zDcu{*D}O3^=;6T~0~a%XD;(>DDVFcgSPAt2ZzXAswdR7QgWP#`jeWxn8 z`QbOA+(&<`p%gJ(b`StuWX`j0&%3quwcWn(>KSfOF08vnTyt){?onIKJhqnf3bz2;`q9)l#+faHc;#IL{_8z^gfKJr4JK*(IZTbi()c>ysJWx*m9*z|l!st*P;2hu?R+ zDKt26?c0w`aew>aWlVGOMj%gn)<&_Icq^`OaABeZFh`GcU-n$iFD-vQ)8CyNcD36e z<@%SmeZ|zd2gAjDWb~9qTz>~qxLCuM0IQK9bJ z42rgqDgrEPyT9O!c88}ysYhpu6pvveW9!W|gX@Qy?Jv?leiWLq)|4M^ z;(G`KoA2C%$lq@bA8a2$1QZ#|_uCqn!zJhZ&bcpqTrzCc!XbbkWos|_mcDIGFRRrL zUhh{-eeipd&`{bW1ZWO&7i0*3J#$+je4V1OjC5o>EM4Ld`n+TcYD!0GO$eiNb|Ms?ceDJ=~q1v+eQcA?PpC!Znu8RpI^!aBiSSSYC$+tD?#-jsR7HBfBDaIxY|u)$~rzUOk0= zlk{q#ioj5#NCBA-X6p}W|+0>6F<4d~%v{AWczZvLKAr&9z}sAIIE&q6uBmSE2H(m@v zKG64G;Wg^BI`9;>uh1iQN%thr6Su+Fr#wXtZ2doPevuZ15Gw9or7C=8xJ@jGtFpJ| zbkll@^}u^R)cEMLdvl?d>dC9xV`ItqD%F)}y2Pn`jK7^C;>)h#JfYC7ytF%7Iq|H* z;egq6hGE6i?gYsVq8HPQDry}3mgM}AMmkr>^$5QE^kfw+FZR!nprlbN9e1qfkDtWI zBj^Gjf8c@2o=a}qeIYY&j7V}xbaL;WEag4;|1IqIOKRdtHhB>@GW?Zt%r`YD|} zkM)I5i`M}WaCH5TXFND{@Xg_H@N8Sp$*sFpu^6UEy9yb@&OJ7%_0}Z-cFtlS$I85j1 z428|3PhFz_e(>MsQg#@8%&IeaTj~z3>}#fLwG8OJ-kG`uaYm2^C&b8YSD|mUniD=? z48Ok$?p_!?L;kq!LwnL#(VN%iJazMP9llmF5S+8`&6-^8{snO5`eCx_(L?qShQ-Z06=I(wU9ZKV`_EP!u5ZNOz~oMFf>)gQ1mLRJBsrlEE= z0x=%;@V~5IGYiJXf8<=xna*Z(IQN$M>r<&UO&lSJJ&p=M9i`-B#-17|Os-q?l$_Bw zLoZ%7ldTnYoguk`!hKXZ{d@oVX@M%lu)V}bYQr)#L9IXbT=-aDjQ5ygaL@m$Y)S*> z7zgz<7er*$5L%C`7@3s{8liKL28?b)H@_pSP7WGLiGM7slov3|ARCL0$9_@t5!8e>0VW-`2?Xli+3C@n zFX?ujp_-2zEIw4az5@znNSnQz(tXcnum8UIZ5L%$2!4^fZ;%lI75%lKgDc{X1rE!? z(o-2UDx1WFj{GplmkHL+K}Le*7?M}`KHc*LI%6&FlrPz&c|y;7BJ?<@>jK9sC)7Kp zdonYzyLiwoAXg%^z3>vq?0W$^kyS2C7ShxB60|~Z;_DLU|GiKB9yQbw4(v#xZwoH< zpd}G^aa~N-V-T3YqSGG<0(j~@S*WpzP?YgGc#O1`?ThJe%=H^!g`nP zUC&t9&}mAJM$UlHimrc{>2J^U+rI>(1JCyo3?wC+1hk4+x5ZwC%#@t`z?~z+kj*J* zBs^gR5FxXdeB-aeeIT|12}cwVN`HsBxe$tAXW;uKvNTk*0*RqU1Yg?Xh^y!Y(u)QD z4CsOF41y3*aEKFE-J;^jkd>_OBipbfLUxRT+Y|!d>0XH82Yo^8+K5DLd!~2VXO-RP z+MClB4vkQP*0+5zRRViXUasvJJMn-qJN%lZHDhQk-@&ejbRjHWxteS8wB8ZUOs zO>~0ITxWwH262GSXZvc-1^^b8GM6R>SBp%;8?nfAKO&lx0B3ouXBj?0^`({LYb@Q9 zu4_or0c9B~(DOfTh4WAaEXJ{yQ?m+vW1$byX%fpmCIE10ZP1|+cF8)P1u3DXOpos~ zQLKp0KtKUU$!mrtC$LEOENpuQ40hvUJah0;RJM~Ozm4JV56q9iFAQZFWo2Ml!-*6S zf+Ammp;W8gAAw>ASIIW!0;pk8wCEh^p>lTG=qp2GVH;BMmuQ7uZ0G!#(fUc)oc@}J z-|v!wkDhc$8{0A_%N2!yAs{Ee8l_{bN3b&tNEXI`zAV*nTCo{N=rL@4vI&9Fz)(sP z%`A2Pr|mbgbZJv30g;BDaqNV=b6CHmRRx|ohEu}t^UXn*0qfU_xCqM}85eo1=5V@X zZQ2cE!S~KGQWgCG8tKhy4LNZ(=-oDu%`0tK5^B!&W`7mD7A!($QqV;SW~%h$(BH%S z>*_G0*!#mRkA=u5lq~_cDVKhe|JLdpphQyCV+M^DAPdE6E8sRas96ei3(|y^V+QYe zs8Xl>&!d;(nfE*|JN3_vZ-4cn9>B>s>fyjg%$f+X>|9fsh5&Cwl2zr92XLIfg+!lc zD`dy5`4KYtWiU^&8*RtCS4t>!d-DJHC3|07*H`4Sb4KSsy#VScTcGkDewq#%lCDp- z4M7qaIl!}MWEg_6K#8Y=IYZ@91zS zA>>R@WufF}N^&0q6d_V>opY2ri5;j@Q{pgC0A6#tGgYRhj5_qM<4i|nejlVxAorF+{B&Ye*f)6Ih zlYGa~ZaQ<13&f>FH`xT_3?VB{1_-v^shX{?!A3_d?!AP(`F8T$Upt7kvuf&+V1tnU}tC`DKE?UG)#EA%dJo6k6YX%pgo* zu(>NExl?U|AUYLsPQ%dTVkrpZ$o1<~!5}_lCVYzM~u>f;jysxN+pa?C^cih1^&f9FLQ9U zE5R9A+um%P*fv!%Q#Fw+aZMj`;qm;k!6E{)tVj6}$8%2ge*`NhAk=R0og>1uSEV;M zh05;ps>}8N=?QHGk=($fb}SBxl?YK{t;RIe9Ej-5R58S8cZssT*5@Q z26H%>*S7t2GXH%atuvk3E&UcknEFPh0OQCPw+_XpsG{%J$IsiV)(L%Y()yo1NV19) z;=-p-n;UU7DpNf|QuKr&9OGhAiC;m? zA4Ii`s@y(6_vK-HiXzDP4h*dWCwwgg8|K@HhzbG-g~hZxTf6H3#kRRYb?NJgrmX+5 z^m~zDIdsIm^>Sq$xQ#~$=q7@fBKwL~ByI(`nr5*NQ0ET9FooKuNy0D$PRoaiAg~f1 z;YD$k4$)1X`864m)JkTjAL!Qv-sv8||-&3;=bc zaT~{1ZjR%@%aT=i!LPt6o$%Nsg3hh(&|%p*ry;ADP;7Ae3a3!*kil@s`>!=B844kM z-#VA?1TlT*CVKIXMKz$QhBjrMZV@7NCcamQ{Ck5D5UdPA!5oRFGg<&d$5rb$$hHK4 zw!nCcaIw{7sL>;TzQ8FOBt4YP@}ZKoTTu12Wf&yXcL7ox_!5DjEj5D{d=3H}cGC+f z($f@&usDJ)nqT|B9Niy(aD;$4Q1UZMB}w%8DVe9^QjCghO<4?dY*@wJmgC$d^^d8K ze{IR2`&5jyrCognSinRmrzVQrP|X~RGaD)hB%Ej&mH+|!>}oJY>nI2;-7!15&19QO zJh1+2>De2CGimlY#GVY(mVc(R++l#PpKfpc6&~lakMJUI?}j<+II6FMDckU~Y?9uC z+OD*A9In^as*zK9-(ycOG9TDSvw17TF8D*TVhn0a$`k9bE)1GqFAl?)l_>p>JEv%b z7LG0<77iy+#Hl0v-NmkE_~#r)9AF+!oOAvNf+H_rjkry9p7cp|N7EG!@j8a2jwPbF zY8RWSK;lon7lAWF|H&m1WP7j2rfTeIfXLz=g%G-_QKie98|r8N%OHFq6|nCZZNV8B z_6>arVk-#PB*6%le&XE3hFi=y7C^{oZu1%nP3K$_cr4^u6Fg?JvoC(>V8>wZZukmz zSbzI)rV$x}wh0m~ogy`>AXXDa6y|fTV@Cb1`&wE8l?gHG}qgB7O4vnoeUb0-HxwSKt&}d%nvJ8_?}YK;={tZ zIRFfA0ra}5D1y%oG1v3D2`Xk4ukn!sU}^K8GQq(oD1j&781-_1WQHUj)(FJ9*d7J^ z-&`S9l~0&MfIdLH-~pOevRjWXS580FP(|7v9#cPJ7y;5y^=AN(so7}1BEYS`t9k0a zTpfE;n=!z5|KL+>mvccM31A*=g4+Kz?kUz-yI(pMUhMk}D0{N-eTM@HSwbS8-6bg% zYDCI$^wCp%*q%nzqZO;+%^OjiR)TG7yiWEEwlG)Wma*h!Zp z!XeJ4u!D7cA*y(M43;A$KLCv{_vh&p8q3_p5ByqOYp&TZ^iL?}&yhjJ6T$YK{m!Wv z{=qg$(xa#!3g8ds1u1rH;Mn0fSTu$bc9|mBB5r0ATVoqF1zf)3JqTx%{b96(Ns;aX zKc*l#>p^gAbmMJtXPL?aBN#{7>=AT!9&ch0fzg+@iD}gU%g&^f_z#~>Ku?c0d1HSw zoFN?q^_HIJ2zCOtqzGKH%}uHrUK51jl2pC6 z-i@mI!{+1ku@0pU##sf~gi)Lvxedgj!V+Q_Vk-|6Ez%4~hVam6J7jiuNYZ%!s)jHckyXILL8MDqrF6s+S}Y1nMf18 zzowFs9Hw&71g#aZa2a&OJAZx?*&|a?;s$5OacJ;iq#)x@6n1TyNpprrZjQdI*N&*R zwGdVXIS)WyB`Gne0RRi6R8-Bj*}Sc+u;2F;z#G9HAT)Z;&v@};G1TVIYRUKORIpiu zaD$v0Fq!j?8viM+{0Y5K`ef@8CWigIcgm4a5DXqrQpiRRM->U^ydeA_jd zJNO;fvyXlef#rLG1jiMeyBtvQ zI`mdc2$`u=g1Za=w#Jmu@I)x&^4$ja!*#d0_ ztX~tbUM{7U*hcr+_>a{fb^8Bsnjhg28~`6X>K{8rrh82^^X35A7)hSaRV zVR~)yS&rV`kUgY6Q4P^zxRg9Jd`ZYmEB{Bh4d*k=I;9o|XY@Tnci1NZs=o^Rnd{g0 zHxV!#F_P>8{O5BxC>4N`;+~yOK{tX*g8V>ZAEf!avLnO&u00oYPh`IkMLOe@jr38eqUt)-(~GA_F)_KP;Lxx zqEfwl$4;}f4m_ABxK(@O)bjExsQuS_bOrF0xLv$>QF1~i$r5b?3c6YD+jHGfw5+YK z>dfPoADcFqHVGOY{cXFyKcEDVg5o&U$E9-m{owXOA)<#0%>ly@a5L`Yl962wC1twr zpABQB{92)UX@Xrpx-dkl1cot6<#?3bxTBI@YR&VgO7W7KrQGv)5l6M{-Nygp@Maqg z8))e>zB8RfDCn9Jbrk{e&U^SLE^*5a6d2*zQxnHs2));xp*5cT{R+Q7pahWOw2Ws=fe;GNR27r`j`f)Fk=0QE zrj}lE&@RivN-cS&RQlMe>)cY^O!a;4Sd*LonsF#$OF>{K_8#kcmOcvdvuck7<^f0N zp#KRxU|LZfI^H(8e|wkqQk#yN`HFXls3zFr27m_P?+GOD3=tfX3WX3VyYQCbENtnX zAm#LU0JiHI2+%!e4MsOV9rpp3h1Wljp0W$B78sLqM!%kckQ50-oeGXP&%ybVFC01C446L&usPxTqq*5il?Dp0F zJBFfzHN#k9C{}>l}rQ7ehc0b(S6*5S3EZv zYjGKtY`}4=ml+L+V@9$oAnU2O0}oDRG`4^wo(8)if{abfDJ1ABTyNQh_q}iwY0li# zCmR3>y;q2CF@(d>i9tfI%-A=fc}NVnVvh+=rOauv8p5D2`j#;(?I^E~@pRJgrqZPC>ck1ab8ZXhnO-fG6GB++qC zV5AC`;=Q%L9eJa|i<8U?8W1}YaWxA48=50R#~_;Eu>aswqkB&A0XYdV735*}t%Dr< zdNgDP6WeQGKdVF@(p@dQQ?ZAXMa6JlDY#!z=PqfgJYWieq3ov+;8^X@ewRbi<{C|+ zdY9TqWxg04!<~DL-HsR}$Eu{VQXl+nq-0Nq_m|hRxLa%`SUQ1+q?_nPxvidO)YK*% ztJvq>t7gZ2O04qen!=zQiCWE86mqL( zYp+euU+#?&SnARBNc1^!ut3@DFy6%QE5C3AD9I}DyWS-(mt$Y28vD3szyVrG)Z;3m z2}in_$KZPVWZWa0JprAd82<>{-olE~*B6-Im4q3nEOCn=BDf$26h@ESEe%QdY~<-u zScftnq^E2p0!a$K$GD#1ds0e;RO%A-2fZVMr7LJja_!r$AyfH2+7984x>W04^ia72`&$l}+8?sw?(84%<> z5FLHwe$mlXi>Ab4r?p`Q2^EG?dID-i=Sqw!3Y{)S`Z@x6NO5R@ijkq7lzF2g4NHel zBn%pb>~!uEV;=S@*OU5FfbUp;(O7hBW1_y6EiIKGyGOf5e%V*gGz}>w;ga>IdoNqh z8uJ*Vyd`+9!b_T-c0s9Q1Y^OQD_c&M-Vr;k-X*fEgO^m}9|+rd)?$&|QZymD@XRHE zamt=A@Zz9q@zDm?wzQOeDKh7fE`J@LhgI(F8rPP;ixF^V)5$En?j_P~w*yBwFV(f$ z-7Cvzn%EfU9$;!W0HUxJ+?h|8UqIoKy!ULac75fLt&Ecj zJ;>8N01&=9POuPo4+h&mDzw$9X{-*^z0JI&0C4}LZR;U1ZG8xuy&7cHwI0M;elCC+ zXWdvqrO4{RY0d3Y^#qu0#yux7AC)b$yq@vms8Pn=&APQbP<0+MEcV^#HQKKW@j~(Lw+HRwD+&J=U%4?IYmFBmH@tRtHBJ7d+tD1^l&n|Opr5|5t!gCo)AcK!_6%e2i%f7PC7D9tNX!gLSq3csh(r_Yg`D9in z-Kw&m12_Ew)_jT3Qvs^;3C!=&?VqeZ@p6%%5ojPi8#3Tuqc?}y7M=``G|uc?CC>vs zaUavTXIf3#nHB=F51mTQ-`6pnqV(6sfGYTM!&Y%yS*k_!3ZV71y2uXje_^@Su9`JS zstsdD)vw3bp@P{Guajz#z+oiyj9)+h%A!$hhD7p>_;9^a6GY0W25x*q*NYIr>$w(D z=){q7m-a;0$z3Zq8A{*0;HMXnwa2X14*6z860=kTVzGWf1JFmtjs~^T1+(pcl34f% zQ0l|ln9{qdEGDX)HruXkUEN!?!52s7{uJ)lU%aqzl9A$;<4O~Z<7utq(S35MOm^4= z(%sQR6}la_k6pj|azTq2NO`)0;_Ez!uzWa@G4D9SpT_JMd0^{rhNbTEX|w3bKZ|7h9(xqKeD|Zm(a?xjFwt z>7C_%%#GR>Pg)sD+n8Fq{7(k^n*x_mq}Poo(xU4|0Z!?vNnO0ibE1LhiqFbJrpeN< zsjaN&=)Ks8fRXo$@Lt)TvxM7ZvQ;Ax?x?*{_j+LHM$~67cYa}!g5z<_}Kkpk-a zd(G)#NMk;&S|99WlS{i)0ih{GAJ_7Po_75nASRuY^6~22)9K?)|&xIK8A;|4r@zUhk&3iIR>Lit!23f&r@%*%jlfDd4 zU9H`Fi}@^$=zBpd9Yu&v8KvBk^l)INaj@4iky2m*CeN}Ht-!Be$RL8;zDJ8+c zknS1DdI_bQRMb=@>MO1>n9b|qVNuou!ppu0#=AQ$IU_CZ6GNFR#%p215yxPj;!AvV$;HR5RQHf`5YK8z3gy>G>x$+Fqle$G+-(Oqit zl``6^&kdOkSU?`4$Gk9YemC`c-5hoga~H-LcbR5Y2x@6^w2xG1PW!y+Yua20J9ArV&ODdUXdl7Miivrv zIa7^~ehmRtYw%%-r@Y`MxH53)?^SAu?3{hwRBl9le7%=E)i(o9qh+A<7wryxLiIlK zC0oVpY}bby@H(EiuRPe}#>}MXzD;K zQRP@f4}A&!!ZkacKq6D=0?2Ng)z85Pwxvfw97M0>){SXr7KxslEoa0>$n)Wi!5-1L zC@r;sGz4C?{p<%K97A2uRP%Q+UjVw_Bh|+az#gcJjpJc$yF#@(h>Yv{{{=Eb<+|CGHkCqi6Cxr%b3Qnd3Ac_9=h* zZbskl%*Kt+-Ys6DI*;omAj0X!1B~;yRR#hXg$5cwnCDRhau&0=_aB|nPo{&hfd?;t zxmj(VM-jHj3h~$O(^kdz&zXFDs5=c!4qy8Tf4-ld@Z+DPTi~9&SDu>5;hi!*%DZt1 zn{|?c-;e+L>6g$m@QOv=$DB;wCvNK^7NUuqk03E z{9`sVhlPyTKV~zx`Tb)ybGnj$%;x`=*_aqm#y>gtaqCXw`Swk^O5yV8i6gDs`f-Gq zLV#!o>45;fF==oJ2+Ijdcumvj2!b=C5VZ)LbP|48<YP zpAl>(7b$ANzOw-)2|Tm~?E6*QtPFEUNPZ!tmyVo}kCZWFvXSCH2C{i7=3$BiN|c8r zI=Jf$X?3UdhMD0>8EA^f7sey@x`WfRNNNeVO?}lk-)-Gh`|b#=Xa9t}T=d2{ z+_-NR-0{b@=cW+qL>W&y5+D*w`1lSTR_mJpQL&q}dpKH&P1( zw^ac?8@}oi;TVs(@m{@S1V?cN?R0ivYi2t*JMne$UM30BAWxy(Ymee7DP6LcZEh9` zUS$IqYYm7=!}7*+IvGR^a-kn6;|WZbJya;HwC&v`b=GEdzPkxvg>W9(o{7#y_$PbY zc{*Py3U*2M)n}itbsiZwr56VlqCV^q(74N|UrzswZ~ypy0NoqRDa@*4wNQZ1N7sVd zP6cL_2EZ_+&Zxeo?!r9Q#wMs-Pf?38PY11z5Gx`!)kC*{gFxC2Uo%sf`-9zz+3?gZ zG&UUWvCY<57lbxnFN1fCcH9pUdNp)qo~SoU#*Jk`4k^ctke zo!;v`Pr{>ohKgt51!5MN4ujf|;mH4*2s-}D+alrCEh}duqWnEZq3>zrmr(?Qf{x0I z?qMJBa=xLd%Z3h~g-UZrYsy+wLGt2F=mcZ}o+^LSkVqe>u@gjugror-_IWaI!zS+%fG8S}O(?KhN;0MoFKdHgx`&Ik_@whEZ38_DmAF-~VQrXqK-+!>e1mXHmFy zdY!HSS3wxU&EO4Gb5xtmv&#I0l=~<&A^QPg_Zh?qF>DdM3bzT}mh|d;xGnPT)HGp+ z%YLwzcostmu&IHP*Tp+;>`G1fnJEnN7AWBKV9>BkJdT+{+xq_&Kn!fj{< zod$egTVWWRELxvaCft2r=JF+pohj_tD67ZA&Bu(Gb_^(w-U-(F!L9ez&T(b9sa-oX zb-1E7x^1S-$+OO1Bu-EsVhp4KE6bCBm{pP+deBD+$Me<_qiW2m*SK*(c<0o-4@6o3 zul`r$U6)pA=R?dn^~Fuq$u7m&Qx!utY|`Az9Mo$^V*smF7mu501Q10 zVIR1e!r)+d2_!xzN;Bq6k zq0#$@6_V4QUY|N$sAEcp3Q`*mM`wU?$;=c8#T{f7=vn;Y0Np2|>Tx^UO;->?aX*_X z7*go&*n0Wz1NeAj{0rVdnI4S{({sb>iqqUL4~vN~Wju>uS^V^;O}pqZZ+SvByIJNu zmsAnCN7L7u&be2W*m_)YF16A9`+NO-yMOL7ZQOqh&_CnyUmut9=nnp1N!uPGe3Tv~ zbThz*$DZYd))OZVKPgr&;%Z8?wP2m~5fXVN*(^wY0u>I(ZCYS0K;XC?IFUtDdc+B$ z0|Y_W@AGSu?L}IM7gm}_&Y_o_EX5SkTYJQ-FIhhhf)nedNKZ)sr_Ei>+224@ai~<; zFS~(XY$%t>1u=j)tN5d&NXTNr$2)YN=$ZlW0y&F|OKL@<^Y?sUo%i8QtwF4=sf)}i zM(dj~5Rx8#j&+!4OGEhiM|D7%pUmcJP`;f(b=iMK{ajKagAfUwz5)!)YS$1YT1avf zp;pofHtRVB#BdYJB~&kKsYJ?%(3+6D4EoWsmHao!Zwhk4T`mRD+pa&e7g|Kl9u>E-m!@UK4vMo2|gi#XMyacL9y`};__`P1NnPEoys0-6=uSQ z<9-*y$gAX_ZNBhPgaIm6DVRlCvH7w$gaVg!IQLyJ^^s-Y$m_9)4IS&xfJ7B>1R93s zbyj}nZgx0KVIg|Tq-mT{H1l7U8RkNiLdw;M2$jp*K-SxazU+rvp|MUxyu>D&2Ei7g zVeD^(#_K#Z%WQYf&n2`bE-1~NoI}$^0 zFM@H`QpxLhLbK#i#E(`v({|=b=PWHopL~`=;FVc=M`ZM$NOhAJ@^|Ymb4Kfrs*!!Q zNTAyK`3AjXXNMCeeNyOITJ52Q@mH3vTDdlI0ZE?HjGa&3(y@4A-HAqkC5Q`kP9`C8 zTJN0=EkaG5G|$ukVfr2+y@(;%g~F`#&h~%vD$4tkJiA2Um}7o}W%iDdiB64d&k#r} zI?zcoR~baU+M7BSTFMaK}1c=Hu)7)fB>FGkyn zr2gJ|M-Wmih{!==rAWLTIbs3N97mg(gjf4k3Zh{cEeFRuq3z-WRDw9T496az@0EQ4 zUJyjEg}P-h~4b=t>(>mhU$}oGZbyQYyugzd&IA5Y@$8S)yezq;-*wy z+7!9+%M9)#YtqX7(hgYpyEjN+=jq+x9uKA4y(ok8L!9JLUWr?NZ|7RBz?14N z8C%Z1`MjlssekS|yoXk34n>#ii}a^Ym$I|3-syCEM?X$wTYBH9wY9abKPDz-Zx&m9 zb#--dadCaUb{ac-UYvDlQPI9MhA*8}F)1l2*2>d^%xN~ndBTl~IzG-I`%RX!f=NmSy|bkXL`=g&R$+# zFM`)nqc5Bu<>;CoAUEe~|u5;k}}(JGmgl;j$cnwy*J6qDy1mynQ9UtfPbudVGwmVeRQQ58)X z%g`{TrkvahSk{t){QP_>(NCS7zpDuwWJ&GVk!kqrg9i^jbQD$y)#h@|tAqE5~t&7v(of6kA;sL<;kq)=B^ zzsZTloS76aJ3Biu@5hgxJo#~C#G!}R(b18bn!3XdgIQlQgD&yoCin#=H6-DA$nt{o z#MpMnZ$3Ug(b3UeK8-FaDk^C;V!L)VS5~qHUpZ*l-QB%+?_NPcL2qwwusAVf4x?YX zKYaL*o4Y&F$;nCT+D8lHOF#R`?||_ZG6;@uG5Gl5 z1NU(~Vf_p{c)-mk9ULT@KVTeQy?W(z$a@x2|Mwzi0k75NL!4KhYDFvY{#$PJNf6A1 z=iDP`ZsZTs!`y_lHO_V)HCPDI|j$8D=L5?&V8d{ zVaazVo3n=Z#&$``(U%9&bN0wk*E{)sdF3#atk z8pg&86kRppL$dQ&L?A!;kT;F%GXFX#mvl*YDc#*6sepiVmkLOCBX|e5diLJu z+`sqN)#s7V?_29#Z|5RRK~54CnGhKc4h~gXN=yk34q*!p4#0~DfW7f6mh^*zLlLwT z6;+TH6(v(}ursr?F@=MZ3QJUfq@g^3o24BW1Gex-ltOApqEG@zA-zF}(E}2ZBY|Fo z`jZ(+;^FADYIFuygwwfzcSAG9t1l365KMKMW)tuVitu8{k`{s!Bd`(&~a=K6;j$>^43qLmbjN#04-=wd;+Hws}Y{57-Rs?Y|_;VSCOZz74 z!2?xmGgpv@q2?okHTswyA!>v z(%3>Duak9kKn2q@rKOsHOz{sI z(N4u}<85(*mti1fvIaU3jTpELt=d>m%_e2sTvqWRztN~9MO5s%9sJ8kF!pZc=m+F+ zDiQV}ozlfcFn? zHr53wdX*`C%YC{cEWwUj7+RZ~aMzSd#;@@{U1T>-9aKsjLA%z2P(1o!qW4PiWw^l6 zTUn?@0>u+A0>no)AUJ$5vNl6MLMnK6UU}ug4|e0z?Fl742!Ij84e@}pHQ(P>Xgoy=;2j+t?_+F3^XbhLP)7zd^fSB~w!0~-*(}z`o zjvK5jjCsV@NW4gUfvxdDeR0_}#E<9S_{7xU77I@U8UxZQnuPaJr`~YLeL(elun+iJ zWv`Dvhf`x?x?EGj<}-e`fa23c_(He_i+~!P@+Q{ShqM@4xX+hIQF`|JOmQuZPsQ$B z;nSz1IboG-^iPJuo<@(WU(LGja=Bpe2TwhC=z?k8sa5rrL!hoDYfyd0pbp<%NK--b z^0nJ5bv3mCfkMJUXd!EOhnL8kT>{kE<}a3*h8_|^uMk!c0S_g69f`Z_T^wBC!RJ1T z0v*c|A6JMF+t>Md576P-Ih=Zf+!;hEP@D(u`dsq> zUWl4&HM0Oc(*IeN|H;dT(9Xw~{$LO?g$S_}Al~4dz&=x^Q-$rp5CU}$3e$tqE{`fC z8wCC?QhT_`SH`PcPam%LRXikbwl##@*I6lhKTfrf=lcPy9g78XD@*vg^&~( zW^^x^v=nk&bSQ|P<3Vaj0y$&MSwC(b;oNIt5jje{Se`YOaepUDyO>XO!6k3_iZHB# zqQz3_9;1qW9SyVK<3nJ6{w-H#wB7=zg{WLqJ~w$R-GcubbFT-kAbgBnc?jOv$c711 z=KVMu63=7CzQJmSGF8BRz$ywTFF|9$vJ1A-rE_ zj?mihen{kCq9C0E}qU+L~;+&!;rLT+LmKeSLQihoqS4N>k zuSTyvm+$a=J#El2(Wi!HE^b#kn(Aa=qF-iUp+9PkaZS!aSUkcAa#YZ($U*N&Z%tpH zP@C{5p|PZ-#H@t0WUS=*)Uy(6)r(?1g*}Dayn=GG!uM+FIW(%;ZyQAS66SU58&w#l z!nY+M1slrA3Z=#7MX!sVOj&M6ZxcIrT-%%>pYfepZ&z~l6DAQdMM)Ei6Rs0J;;yhb zwTR;`=bB5?8P-h0Nt5KVvp%;RtCO%4w_3Mgo}SNlRxFiC&$G=ZDH@*1s%%%ii9E+5 zl;A9^wiK8bnCF?-)G9<%{Gb(*8(*wkP%BxeTBxqBJtNL5(x}k*{GtiUPm-%W_UzQ= zTIm}8n)&*hp+t{H53mOpwUorgcJ@*GXAd6_K)X_Vy9e)?&<^M6gR|Pxpntd^*;L;hg43BWN!OE+8*ZnqV#{FSs?EHajxw zGxHoKO;a99-LTv!9ZDbaWR_)muQgOvRNZ7Q-C&|+rcqHXV0YCuIL|O<<*(YVnp~g7 z{h_75<^8ok>eTxgvv5e_Fsk-j<_VsUF0b}f`6oxFSb8eD_rnFP4$N5VRt#2n0@%8Z z11-d+LKo1i(3nC1A%r1lk}bwf#?{8{UrS?gDdQzsp1Aw0@zSan+7#N#T}WEKMkY}e zD0w+aWX^A%gP{g?`L^M< z=4I`+1#f&IdZBdhd2fh!bBAij>)WB*OP__?tXdn*)Uu^A^*gyc%pW~>PiC`rQ+Ji& zHNf^@OR#m0i-Fhbb*H3=naGw1w@77??20@$hekKp z>Z@j}&J17o>~&Lrjxrvreq*d2?F}*{AP+Bk4UEm`PmD#+Ez2zsBZ;DskQ7%J6OJIj z;iTN~Vq$i2*sYkoczO3y=Ij24g6l!YG*l|IUQ#GhI;%RkHPUFwGiA8FjO)tVmHt3$ExREnl=56kT6Qk+IEZMV z{L6X1gA${%r@PHE;j&D}6JMNn+N;bOj7$99rXH@rb`tIquVa{XSiLd{ z;+pACMAb~Dqs#nvdw1KPF+8JxCMh=mmPygE;w97&nm((iLjleH^33!sK~Flx#FI3R zm%Wl)|B+9Bqm*slJ1Kr-FJuN}Avs8jN0maUg32t%Fm(Q{<)?^%aG&&O`EL-rG($e) z{mAIlvQ%v|@>(Tx?qQy6L0^||8LQ9uzbS2)4d1rU7Q2ZbwYrC$5Pl;X&gT3vz}oe0 zGNCA0>IIbbP^-$4yhEX>%6V*4dDU+F0~?COdz6=~8K_E5W{&)~jhL>lRn}S#M|g&a7aqka=d$ zEzghV{@&x>tmlQh@0`hY!4o1IUGt(zAq?mfXvx#$&J)`nJDl4KL~(@k(Sf9vR;N}1 zUXw?g(Z&TI7@~Jb^*sU{jPAnxELucEp@Kv%=iSXY zj^-n^BiU`M-k)d1KSfBgu(M9-yR_=ee3^H+be&m2Z)~Zb)_wVI+iUtsV^>Pw zYu**E$(IW=>d&?DohGm7Gq->B;MbSYLvPdkuJ&Uu+Lh%X?fUICY5OPll^<_TbMHQ6 zW~XG2_{x3%-sZcFH=bOtZ~KnN=kd+C0hzf0cqq|+JsW^;W1&R|XXgS3h5-B?UYI8w zh2Lf`g8H&lqdR@O!v)_iF2WTBtsIOA9`0=Lz}+--?cq(%q`-l(ar~a5`$dxqPCmS_ zI`+;V3blVy_3Vqal^nw*Z^5kNUChNNb24RTc;W0H2u<2vLR*Y3uyO)U%v3|#3<7~; zfITC^0pKy=9>AX9VSnL5Ea8AZpW)zWU_W6cNDkol8-%T#2fv>Iy!Ri|-PFFomLOQF zXgFy=WciHkY*`FV?2JrV+-&Xd7r+U)@xdN#O`QzM+-z;2j(l!{6hBw+!JhA5vr>@# zT;gOcNTC5yAQQE7FeT$*VPj#V5JDy+BNK2iG2>GbllZkA_CG-i3nwRgK2}y&S63ES zP8K@{b5{0e&z`Zeajo|dX zV0`ipmZmU-@6i%s7x;O=Ki>TZJ%M{Dd~s+o{_kC|Pg}50@z4b_f`3E22M*iy zQKH)~PI@{8ntMB=2twwUm#ey5_9;RxEgrzRxBNAH-}N0un}fE)>C z4F1b7^`A&D5X1OmXQKdrKs=<%2*^ql&$JVXC6{m4iFA$-BOw(FK8?%9VNc=Y+qN;pr%Kx^| z96iAKbh7vQ;{#`J4iiLEwPB-<&wYB9O0}BUq0A(drBQXGJJ(LE+nSVe$haA0(GPpC zZPoOxy{|SjW;qyQ0<841zS#Taa5cAJf2*&3n`hl7y0kz=%LW9zvAZFK&eS6WcfylQ z(E9Ds-10ns{uf`s7l;>5?^reZs%fHc-80v# z52ZG#C{W@YidGExlI&$VBR}APlvmsV)T=TOvB=3;?GAdpS5@NIxEg9mq8f=grA{&~ z1y?WrQaPG|IUL=E*ltp)DsieemYHLdMKOOQkC@M@C7dw2#|PAZz9)UA^aH)|LYg&D znvp^f=zwIbL*I!s?HX{P^ySzS2jNQ6hk~@r%+2A|J9<{asZ>H$%Bz)DPC> zNr^UR?VUv|D+Gj_55GK_V+sgJ+`%6r=y*dk3f=7^Zpk*UV47;EIS>}f!p43g6AaX) zjcKpTkJX*o4!mQdD`gT|t(*o`zB|uzxL?Ou!H9ev0p@u1Ed<80C zOnWY}(#x`A@nOZ7wI5gccTSs%>ymce$I*+nyWI(tvYdDY2kP}5^jG0#yY1AK?-tdd zrD5&Yal)tDX@OzeO3w8SHUk@Enyg4-jXODCo$#8%$5}a`C14LbR!_N_7ly6U4VEAj zz!mUxZ8Ypq{Wa(@Bj}+vd3yJC5Swr7b22XLnCTEv+1Cq`9?p~bwWzd+iSKC5t;x+O z0AuMX^HRohFZP9{+ZP|wEc+uXb$;)$&=S&fMFIx12{8#lQVCn8_0P4omE+kxc_12I3;~AVx~_#uGIB4;-z+o zmEulOy6U)u;s8S%BT19ce8M6MybbTLeE}}w&WZK6;T6uzjh2xs4A7a_L~&Ec>|dL{GfFIz6Q$1Igv;;1WME%R%TW_#aSM7{?=Ed*0ouINy1})E5R)hqW3b>O6fu>?n@7U zwrYO1+V=CVoQd=g%Iq1yPbJmgs~B`<67}b|+sEK&=Fl<>h{(sCfK^MfAEI2}PTHmC^Q= zp;k>nKD`}j(m%Jcb^1wcL5@}%bpGzzHmBvw4OnSuD1wkL%n1ANh}_1tZLyX-YF^QQ zx>Zf>QjuLGdGV3*D6c>yHd;vTpe6gVz9eRizj=HDYA<%t&7ds?lWHLt<`a?2{ZK&t z89`@RY%MC69si>b>zy;*BDPo z3ciCLOSC%oMMdIS;+{a1hOOr54Uidhly4*&$+-8KsM-%}1KYoxZRzQChbr~svjBq} z?Er&svqz#mBnmCNkT|{(TEG8-j7~Y$kHEp>xsLQ!FE4s2#h_%q(G!Aax8AFga{!k+ zD8FLB`{MYn&$x96FTk`Rlg)Q6_0yJN-%EwnL%W2_z@AwS+=_9k6>;BHr< z<+`A94Sk~8 zrk2x&_-*C;<)2bM&(2|n+^P?6m>x3gx$bpLOzS4w&3&n&RTvOY(9WEC%b?`e$V+aH z$24p<%utjv=$SdD{Q1n8bi#Dp53kZ;Nd`H0UvU6mwx#I(?gPHeLPs@aQS2;9o?hgm z-1o+xZM64HIc`Q^U_X8w{V^|8QoIVYEFT0L|M=dCqG+qLye&z8oFEUN_d2kYQe4}hyk(a4- ziFdA9xsLZ%`cwZhH)U{>V_p4ZXsR~>$lpvt5wjD;Ub#r2fHPSdD@-xow5w4|2~P#A zQtGDGq}5E*W=iOxLWpG-?o!>x;1#}`D^|jzC%8x&goFIdWJ!i6Mp8u;J#4V7WHyd) zo#upO2y@d2{S{pwoy}1*JbnJn?* z55RoZn*CESa+Wl z568$dKS%@HrWJ#>G5Lg(N{aEW9ug8oBTjDj5KkorTq~}i8B@Z7B~wcPaIQhkzeU!H zG&eWMSD%euoxK{^$G>kR7B?u0%KW zbbOujgw}>s-Fy+ni2F8 zuV1c4%|-CyMdU?AQZ6sh+$&*TaXRuhxoIeTQ9cTAG7P|2RDJbLD?`mAy`Bf5U?C+P4wYlESiS3@!cajO>VtQ9m+u-CM0@^4CgLvTf2r&gvI4GO2{hQeRD3HZw@&L~5|P1_u?C zKG;a~x%J_UK;qp@${9k-1uKa<*1V^b^=qjYMx4r8DOlypQ47PrJIA`M@Z1fbRu@?p zEA?F#6jPSbjLMS?`S6wHQVjOqSCwFE;CI`KK2M#VPr{Y;&?9HYWqaql*twyT8rh38 z(Dp+XcQ0quNc{JhhsRtw9Z}HxK$cGqrWl*LC7VGn+OXieO_b+LX?< z?23cA6#n(#5u@Zfkz>VjGo*wv?UK}*iQ?58QAr$hU>gN8Q4+y}EUTbCIVx31Nh*q- zq%Ik%>jQnyb@l9}%6TjPS2{EXsDj%(ss%9|mSq%2mK}Z6Z}4)kAj-j3N|seiR8z!= zoMeEz{prIAE}1!D{hijS5?n#4-Iv-I4~9y&EY*els=~dPAy(!9Y+#$s8Fw}C5a(V& zLz7FU3#v&gz!BT(`IW4N;?89x5f5ngoFF!H&JlDKbnCTNG_4O>aQ15C%Y#VsGwsQQ-SPMbTmueqdGQ>!HA2uW`GFefO=Y7 zTWxtsLef~Ibt!}Mm-P0u+jOOAta2)--n&dBCOsd~!#Hf5aeAmqqe}AWx$t4hRx@`) z#N`L+b-rn>OO2^PszZoE^R)=vt5G#9JV&-8u9Tv$Ev0A33~J05yOGx;DT3;GEtC+m z`aUt|tJ2))4)$0!PMY%;M5)yANbP}B(?Of3QM%rWCud-8O3RkWy=4hwn-`1%w|)n+ zij49MZLzXzedDESQ`{EbIR)RA#D+={p!uqORusBs(l&AG%XA$k+_#Z<{Y-pXdaO#{ zv*kJWWmxM@O7FN|GtAJM}X(lq?(DdS|I%cs+QxTFCAdoV`9mZyGrnLN3l9Jo_ zF2WY%)+&OzsCuZl`0R`T>tGz?QM?W_W+ubaNh!YXaaJ7w{|I@=DT75XUwNzg-0G<) zx3Z)^2VtW0*N?jjvnmr)d}rPRu8GBuiyx#3iqW*VuD|#a@j^`UwKpz8IXYcTsppqi znjcIc3X<|>XI-kGzJx>roNc0F;W|+pUQz3pr?#nnONR075p(4Y3`pgjVx$Z{aO@v1 zKY7H_Yv8amHW&CI>4aU2^q=xKbe(Q9+8osaWp7K6GsIKq4zRDUt*K&P`sS$|y(!kI zd8P#IFoHZDDfv9OXUEDVtRVS_6m3*VH6}}1{bUdO1O>B zpV=l9zfn>`$C*$J7#=59lWUZ~q;a9%Gs+)+UNgYh4a}-Odo?sY5U;v|elUob+96@= zDdUb)#+g9Q*|0o`8M&S#L-swcMOZ#+ta0NVx6IBMXT4R@7>hY~g?O-Eakd~%{_g2# zCadUn3N2dB2p7!d8phEUmS#XoVEnn#&Q(jDqs+d-+9aqgnpCQ0m;}h_!iHhmdv z@icO;z;IQCR|nwo?ZtOABCVphqbMAXEv%MQJtO9~<^xVqM$~!52J8}8KJO)q6DODv zRZ%@;y%ECw8+{tq&SuG@!ei4q5GebW>9qa2pPIBsAy8W$@(=JhN1m%Y132SoqPxfkB}o&|dsv<84E!8wFzUM|>BA zP`ufdCRs`VHLMDxM+!FqrG)t{)zWxlep1=7NiFrL$SbSy_0K-lG_oyu^exZb+&Xp8 zAstz{acq}brC>+}L3L`N&#>e=eT1u_ok>KUi-Byj5|)hZni{ACkoJ0_-N{WAHk=Qy zo$ZP6o|jzNPdb-#7j~rHbn|0mo$lL)@{KXd&L5-li6`L_d5mwQb9qOUBvyJ@<(HMW z8Z{xww$0uds$}8Qi^DCTF2Monv8q~CugvZDI1-CGU;ELv52OtuClr+oQ%w|GBD>7k zW96h%C_9a8jn>c2x;x7Yx+xis?I`OV4fNsEHD$)>4Gah-f(sO(7Y((@vZ`L@9P4@| zy0FSIEF@{z_B4(= zbmYS8Ok-QgX2F8QY>KFil9e~&)U341R?_D=kwaQTUkXlj%Px@rylEzcEMuoKy-rZ? zW~ag_zKe@pp+hoX{27Syyi2C+%*B5jmtdlzi8DPQbLW96cAcmCw>rj&IoZ}YQTml> z1n&;nDcgK@oEIgFNf`sv5qmUq1tL{Kpp?^sjGPgdc;>6gQwG|i5xQ8}VUACj`AF}g zg`U=e1|zfI>L{Cpy^z|rS8^`vp^HhNpbi=s6sGr&!^w{sQaQofeaHGGy8YvD_XOdR z(}Bf7Cc^Vi$6CrI@fWi7aoe*oxqje%k{pw(a$3&Mk1N!69^T>3w5(Ahupvky*&)5a zoozOm4w;JX>s}DlkquX-@oC@{vttdCwoN@c_w_oxTVbw_+Mo1n!vzSv%jm7c+=yK$^of4eiExGPs+)>W@V z0~y#>lA7jpP7@2?E0CU_WFxe7TQW+!<+aWP)s-F9h>VwM!oJk2jF}&yUX2m4Y`rhYQ80!~bsRt;2!X%<{_Quv2 zrH#oU2jO;8DQQCYcxcP0G}p>6b{l!q&{Bd|-tS z6gZnL0k0B;xxN@oNxnopP4^RQV_N;dAUL|D!^SlFAYT^2vtR23_0ZC~rF4fd#>Wvq zG;R8mISNzm_gA&*Z`gollprD3O}hsCx!0mzb{&CYd@ouL*~QXWbea^*nG4JrKK67A zSq1qe=(f4N1m-1&OczWKDk<-gUN_9^9<{41GOqK3567xf{GA@i=gJ#8eW=yxU-$i~2U4{!JOp|5g1BSR$pvn--PR+)BwP?+F*Y zAoqGuDeu*47agw0qgk($;WJ*hYAvtq0+maePc2S9d)E4oTP|eRM+>Y*b27;`kDkS- zci1p~v>CgZQ|ibLkYIHH*P{EbMezgJt28trCfevNTnFfaW2@$zOiO@Z@oVuM}ZBr z$hZMrk~JUX_YR%*cY2C0hSfJb2y(J3iz9a+FVVYPl!roUMQLN|=f!A<9+)v^s-}7ch2?E%q_D|ILZJvgz!hWEQSk!e&OFaWw*;=YOCU|^ zGC!-xlM&Uz5f+g2{LaOl*gjK1;rZQ3G1vNwYznUVHaZnsh8l~-C}OvPZqsAXOJvxj z4r~Q<_+VL#^ejT))+ayNrQNQpy1a5G{EbLVhfmF{hFFiR-^wuC0!euUV*h4o5Octm z`qn98s<7`Jh>1g7;dlf=ol*efc=nVwT1`#+p}Jm+hi?ma+V9z448A|xMuNgn2H_OP zEL0+v+$R)Rqn1wUnJ~26*`1%xloeGQFWU^%dR7Eef=ls860UUE3Bm%sby>_rllkN@HYjMVFzNqis)B@RF!tq(#9zX=r3Go) z=CN^7UaxFhApUbCDM4m)6t)9_)-DS2CP^Wp1cEhUG&a(6D$97%;Csh;9$0!$2L1ti z-@P6u&zWII%5CKI6p@i^n5OPJC^(}5`?(-)x`3FahQ@jJ>VWmn|1u`sR3XUZ5LG*3D3K2Hlt z|5ut#`cl-^(X+MzMf86RS2q#;*=%2QZ##NQib17hze5QD5N>)9VsJVc(moG;9U{kX zG5ne@9Rls!kGPm3SEAmKjXDAhHNWIg?ehrQ*-XN^DZl54FhX0TJ9X?ds%Lr08i?dy z*$X3yo#b&zhiB$p&y8Ck{DX~78GdF`o3zw6`HzFDzcS4nnTdNLMv{Y=Wte(~Q&2L3 z{{a}L?B|F>uu<51!doui7fN&nHNeUYc%Mk~cA}jJKo6--BB)a=`XTaxVeVVZzoSGp z>IyKdJp?d^ocn~VKt#+}RT`1pdQj7)om-h>N&mqYd`x&qdR!|cMSz+&!=4Tf7Dc*H zX@`mkN4~j#hXzmHhUAqJz|P^6w~}IhUGewXogX+GX|^>hK?mj>vsIm23|n8aA)W{M z=?>vTugCK?;qL`y46JC~Z>jV-D~%l`vTHjcv@XLCclfPdoq0eT`i##*8AcbYF%MyJ&~XX6LgJC#3H9|`0CWBX}EVfOM3mm@n8Nr=;v@RM-}kliSPHK>)MFb$QRNAzlGHY9P(1mD0^aF zy>yyO5>gR_ON(Z`h+wJ6Laq!K&hsAYtHTzz^SC+AoUn{GBJnumq_QWOIv zz-Ng4xK5_bC#}9rYYt#E(rkqiKGcYd_A>e?W7u;%K8uUN6zcMOJ)-_X4;@!nkq z?UJnfChNMSny$dO==DCieb>}w5ReXSDVDE2=(w3L1|6E?+}*7F@Hy(kd-r{v)wh?D z^e6zYZI!#yeRxV;pTxBJY+76R&>vmkvI||$c}jIg+pc}DVF6k@%;P!Yn04a!NWdT- z!t?B6(J}Xw_?KHLp~yL)X0RgTEIe#2E?H2J;|JOpGT_oe3*n1!ei{KW{BTIPOUk^@ z&7NKJdeSGK^V+2C6yxY;yH!1E8ioiF)t!5dD=Z&~`H6`R!&D=L+qMeQYvypaCg@}m z-e*r0>;Jf(sp%Gr75eD@Ewgb-O?#{Ib=@J7jPH}%P05wpeOGO&KOUff3>F=*NBiTD z;mhTT#l~!k{WY|eMP3vCw5b@$)wOu}XeN?lLHBh=eS-Yk5!Vi^zC8EK`I!zLr4JvA z36$jB2bCoVpiJvop8M{XpF)I{X2ZnSFcE-v!2dI~KY=g_E zFxo6ST1x$~lk6YgYd;CyRQlfTh~w$zg{j;nbR(307o&gnE5amDs*%q=-B6 zY)#38dYx7Y(T6vT3uq(@?mYK5_WtrmE><+F5S)@18z{`DMB83R5&Fccq}0(P*FCWN zLxN+=s(d&3tlnGHtnOj*YRZ@2gnu+AX(x%s@GkbVIBukxUlY2{TNWBLRrj}FEH88; zTg-js9C_OF0rV@Fs7Qg62pv0-p4@nD_&Ls8#3L6gVgt7+4bD|`Q_JLao|wP*%g==& z>NpN_3&RY|3-{T_ly=b@+jn1ZDlg9)-`OIWU|sFm`QG$P3XK~%JP0B6*u1+rc#;|S z=_AqdVK7}ywCFSVbs?+u98%T7rNN5@JK-nvH_^f>8V%{rGrGLtYoK4O!SUx`vb&pr zmlS&1u4(dM0it>v=s-x(X;T~wR!05l7iFJ=9dq8UH4qqu&U~l0YgJr3`tYPuFy*bz z-C_F5_lKJjiy(?guL*r zYNbcwYekKn4X-a)*`X9W{KWOR$Lq=ZLgM+2OD+r8&HaGCOfV$?b`yn1Q8fF9XH_t} z53jP*gPJ-CvZqV^zO9d3CZ@@h*nbkI0s-?gT1Mm-sq9fDwx%XfPhhfr%Wxc-$U5hO zd7J!Xz3aDl?fqz?t8<@x8q@}=-8IJMI6`=r-HcOBk~TUn+AD*+SN+kwa)g-(Iz9;Q zD{@c|{K`gZu@Da;8#W}|l6Utbs2bAeT7lGDVx1Y#Ix{y>Ri(eU3(f(;5Bo60GSCjp zbez|h?QOK|R4mx{pxSj@nPq>je(ha$UfuG^d;cq?w_B=d(ou--^+fjfH{CzJe-q9{ z2+jqrqdz%G`5+dy9%j4{B3Za=pFrJ@`8zLAkt4&m4)|O!u|c#UtGdifSA`2`V0E*b zPAfsc3i|1oVL_>muF_>Jt3nHwc}VwtyIokhJ0Dc-Ys@`5I+z zRg&mAJD!ex7t9Us8&|X)zwmu3bNLzF*DXOesPgH4P3g z7Zu0z+tWhfsgW;tg-Aw1kAL}1urbi2Dfa5U8YB_ngPAiIO;02aySbHwpNU<7pKFWd zTcK@O%)A#~0*(FR%Map~?~W5I+h76kHAT-GVp~{z_Kk!TJZeo=RmCQ znnCsYiDhidAY&x1mF=U~zFtptZ0o0(gn)ImQ)7}(m?_8m@bvGa=v6=E>qyKY2Ra1d zyQA0INVJ(waXg(KGp)-w1Re^IVNER<-XtS1x+^{g2<-E3bnZBWMCvS}zkBOlcH>Mtgy zwe19Tm+2kKtGbaLSO?7#xM{7M#(<^$QVGLSD8G&*0QlS`Fg-oCvn^OAufn307tO;5brE>dml4Fp8#Hs zz5<0B;b*M}#sTg(eT{}WAV;B*% z>2r7fy9kyRi}gfxJx$;xnvc_3tU*6hQaGR)l|e))O~*NELplLb+U^-< z)#EVL@Erum)^8{Bs}g%C-MP%C%(DU;&zr35Mvr%G(X7i9@iYBOX#Q4%IUwfQbr`m% zXP8kkU;tWt0;o>DeUcZW>iwnFe@Z+5EDR~%Jt7-k!5xQNl@QhNo4JaA6=`5HRKT*A zF%)PS>Qab33mvz7OcjP?A)_d6*{$LgVEm6d^kajOs?3JnLyS2`tE}7AeB9&0 z$tZF>BT1&iESpmDnvMDw>3>l6!_a85H$-IBs3N03L2V$irUY1GNNw{;KSmw@gX~|C z#Sbh9s}d*=(mkwF3RG-(Cln~<9{`73dW?8cM+=bujSdJ_&dtMOF3u>wCEsHh@7_56 ztIGb#6MtU}Df`dqrb$ei&u_qFA^=#zAFop5`o%TgV2A9V)g+uhDOSuxR8kufGK*eY zlQZO~)v_H4bWi)g3)VnHi;V zwOu9eKw24K9phx-`q$*JoEsnf-<9<|VhU{4O^|VGad{BE+e1LPJWYm(OU=J|1(yH0 zaH61U=`>IH&BMQ(!aqn)#FFYdd$<5uAAaHgUqr$qo(6)ED`2MVF`laM;D4};@BRSo z9Z!SS;#^I7tpBkh3sj}+G_Q4khP(%+)xY%v#sCE@c+Qnc6`z;Yv(WG>d))s4`VXwgK`c;ChE-8sYVCcV@3G4aHLa&#*b*Eoj zD(gZ8P5vdhQAPl>2aZAOma6=AHivBbHtb3p#y|1$XTfA!h`J)+DnMvRf3KiC#sy5_ z;YQ^?{;Wyx982ZT$Yc7@{c`RHIDhl4CWt0`^m8dX@h^BZ3wEJm2`VN^wAZ^; z!WXvBUf`0rydqP2o zwMlsViP(|2!?>0Jr1G!TV$)CfP5tu-u?;b)>{tCCJ!H(&lSx0|nT2BRVuoU4SzJ(r z<$wNF3I1wTwrP?FwllxaE|-6^=-SpF4YK+Kd3LVi9jC5wOgEYPMYZ0pm`qya3$l2< z+M%sUEN)SiMEEu`yeISh+~I@+=F764am$Iqx}%mwv5)>}?P;=K`#^}F?^L65t#!7y z`X}%F#_*c0J#7C$Br#MHl9HA*kDwO~!3}o??6^fb`p7oPU^m*SG*Va>N&6(u;1}3V zn~d_yLI@@MU-A7f`pqZ}D!-6}mV1~TT557Hws#{M!=uJ!)iIheX$?pQ03rsQ7h*@s zMOb`FlOHy9m1AVdWp-HeVD`27uwNk@u7Wq8Ef(<)s!rj4?c|JXU#)A~aY7nR`LWTT z>|>J#LIV5_@@Yny-uI4@w`+#5SQ$*9)a^J?(!k>GF1}QvXpXatd9t_;%i zD{L5>{b*~FR(&}h5CZ~CVO8zhipv`=b`=<(#v#v^T4-Yxh{38$C0&5wdr;?@844MU zeZR2r=R%zI+!d>=Gz;qDiZAfDbtK(ck5A0cBFUpVe~}6yU4#$tf5-_*LT3l11a)R^WGKt4A{m!I>q^MA zj`?VhySmlpW7L|OPcpE82Jc=LM1;#(IByAO74*vs8nD3#rCol8#Sqz1;}J5`y{g>9 zXmk&*C>`7+r7F|q98O}st%f)ul+dnQNQC6KXSOXtWo!*}@& zX@Xy{_HpGv{S5FyR6FuHHk_46PAPCG0ZV7C#wsu(*2IkZ$t;V*(x^ ztt(El8uTCUmjm=yq#@enre2K&0tPVX8onCz(nG5z^`2EPVK?HLPf&Lb6+10F{9Po2 zHnCy9`4P3epMo@1{9a50F_MbRIB>-D_GP!}NFu4fjCq3!2xS2>2_|+4_IpS$l(8*q zO-}dQxk+R8YuOI<1>-eSX`{R$Q-Jr^p^Rp6XV&S{De2_pE+mo;+A9dCkjJpakU9*v zdW>-PC!_EWL!5m&=&&`6%1V?A6Ot%djCJprx4|kdajPIr5MW^##4;eX(?3)!)X38E zTZ#$~{QGAf#zRme=`jH$lm^q`WEY+0iupX+3|zCw6>q3P5H$++6V=AS{o+uCqI z0r;E!e5o>?totS&nRORI&V%SBs(6PM#cyr=B-j95T7!i^^W>%N7OQ^rKe|^!0h&gh zTv5o;leyei#nB%02MZ(iE7iIk87&b9@OiW&KaM;XZROCSvTlk!yj)7K6d8xbUZ&n_ zFO!0d$smbe^%qQGM#8!NXUc~*irPv>#z%SUmGdNlC>!XB{Svk-V&*O2`1u( z_u=gmOsdtTh`BqPrcUesoe_dxBLWN4CzI?pF$`2-6d=tKC2c63Dfi@SrN%1`@=8y) zZoNb&&amP!*XHDOzCxAr#r{>?!koW5&_;)=(^T@r4FqdyCQut#ugofGnmW4B>e8a{ zc8Bd1@OvXm%YZt)lmVF1zr6rHh5xd=JHAowTTY-AP0o!(lk=&wHa_Q~)NpV4!pEt_ zX>4@=0;GN~thRujTk0dmDoeh}znZ47y!8+Uwt2<4qrlto_IYtW#4Y@t z{op@@Z!g{CMbRC@1b~Wy{mPS6AulZxDDsEwa}m6EdwdDUqY_}+C&iVq$pt^en+X*P z{GB`GpaDE|i*q#wVI39^Y4G&&-EdPK0(8=Z{(vEIPjMDnBOAJf1luHNDK+^!&C1~e zXyJkm(qT7eFo7O2VBYXMP0##T&D=HUM0vg<%we4yiLztFT)l6oH$KMJ{hfySlVgoG z(G^uTChLv7!gu)kmLFI`4Kl+~)i!I*M^IL&(h0Hq?jmEOUUgh=+)Do`JRuWiyCt%) z+jI$61-|dU$~7QA|E)u#Pw!K_8#^tB&aQw7H%bL^pb{dZ+Mzk7LQ8IkB9s}yd$bhc;v~l|T2J&Cd&neKa!_ra=`=L1IGdF7E zt}Uq@avI<^H3)_HyqLdD)Y)215mzBEVc%zI%A&c{6`3$MqJg3|}C;fsH3i-uJ$ z5^hFw^Rp=Gz~1*#_%AofK%3O?t>dDdPP(;b*(&Tsfp+B`|YwMclN`LPc(+4J&8o!dLZ48e7jKtH2;UKw+^ea>B7Eci^wJfX+gS6l-klA(%mWD zh;#``NOyO4haf2k($d`}4bmXsH`}|O_kF+r?&Cgi?`vN(vu4d&zw?~Jd>4u_6_j%s zp6!qO-4})(AILDfNu3R)f7qYwWFL=0I%V;R9wm{(!Gq^8YrdB^Z*y~Y$T)#k46!Nn zt~h4*2l1eAsDnSga0?-QX}?h0eD+7MSO_UI`<0!6p=vNFU1EP{cL==L4iNTqCdnD zGcnHR^JniYoG|Xw6X&O04^ibVOGKz2>2XP)7!D@I30#pY$OtCnV)>yy_j@}Qh+6Ya zJqXKe62@4?iZ4 zBt-bVS|Ie%J9@a3Q)rfszxhRgGQWpqF*ybzw-A|*<2568G2)}Z#^_xKWlxq{D~GcQ zk(u-nDT9kVxwhR6%g+O#U+Ex^3H9~H{D@ZdIpM4wuOx*dAjSJsz7{MdZlQK0fA^1x zD>Ro2jQb6SqkuA{ z=+&Kk#Gj|N2Te5Ho$j3dx;w*0I2TsO8R|d6cP=a+>cWwW*0fFPC}<( z<8T*h?|wg0SvQ%mq8BL=7Bzn?>@0?hG3_A!tXDOoxe_ zx8Af#Pnhh6IK?U+QMYOVk$AtzhT&o}EQm{aG9U3;M9@W$tA7Sv(WTZ~!)9DqsSi!5 zr4jwC;71man-23pI1$HlsD2)XwHQSR>r!Wih_y+&qZ^zm8<*S3y~Mp^2$OYFc!{$y z$cp9a~Op|s|mAi(lS`^26pI^pPea=H}wWSQUQ>>gR>2_x0 z5s{J%@o7_VYTFH)5RY{l`(_`bW+y@jTJ2Mad%oEPU_I->IQk~!1o5N1Ta%CEtnBI= zIf?TkqTOo3hXPm!tBqbL>bB~2U=~LDI4xr)c5oYYXqeS6S|Lb_Wb*pvA*D7ky|m06 z7Ej|`dTv(i`H;+H2hmZ;-6bWxF;9{Q4OZkLvMIon{t1RWsW=%ex2F3%41Gg#T1?x&WZN%bs42SQpS9O>pO*F)iD*qjV&W$?u5AaC z`d(K(bbmRqkRWD4;xo>Y$5Gz-a~l2O)b&2c;zK-Y$*Mc(eB4$)6{lITB$IsX+)afPHXJ*RlPJ^O#IvRy-ke3(wjaT~%Pxr}G~#fH7U^9XfHn zFLxF&DXUd@fUFg}*D0&LUW5-Zf^I!%SSFs<>u1h{?BC8yY^oVUnJ}Zns?WBpsbq{# zp))z`Gdko?-o1s2+B_Z=jhg(bCLG(oY6iV@4&7sAn9NAa!#kdo0PT{FjncMjr-Lq( zIa#lT578-P29(yS`6;HqTf=u|jN*%i7W9+15XS%D6iSeDjqMG#JS7zzB;R%9>0dPu z9K>qzJy89OO(7pw-=adJ6#KTG=Z-MG7J}Z5(^b8d73RXZ2c}WgowcL`5 z5&ZnXrAJ3AJ+rpcUYP`+9{%PBB=2<&hTiLa#1Mg5R~ZWuoR!8>8aEk);o_hkKb$y>dIYcTtVd8fFt!u(%D~@-47KU8yRVb72t( zlLC`@%;m8IJVj58ycduH^^JN8Dmc<)R#rXTvCLMEpB2wDN4V~sX!>4;Sl6r*GtxrI z6u7{HWAjd7!9aDjs2M}Span6&V4UE6_}Mv@6g+c!4n;tN#SBw0Ba%f@_!jNcD4WSd zL0E+hgdwbxTUf}p2-l2DpJEpv2mD#iRDpsii0sV=EijaT6iyEUC$MpMQu?fzy4r+; zbns7%e)l+XU;Lbq`Ae2j%g4bKnEd?@?AxGJSEC!r5a@$m;Z)9uDz#ClNZ`K$FFnCu zn2Jn$I+Nj++M8{hf6`1reB>Sk+C)35(x>*L?C`aXstbLRKq%D7B>E-Nq&DFojlg#6 zPZd6y%4Y@6{r=4_NhS$i_b)BG#5nvGs&7KRECP(l!K(0I$NPK=@URTl#(x*fPUC$B zVD*c#?-$`k&$*N9+(g(s;s^7L+L&jq^QWakilBfYnF`+aS0dz}f9KC-m`865mD%9W z6!%Oh4;ynBSvw!ygrI{E_E~ca|1{0#@vA=>N+vtPf>9@x&Vt?kiPrW!)!&^z!OZW7 z9Y+iJMU5pG3tHUb!j;4B^;cdSAM6Y{(D1e`So;noA&Z0`oe&=T10e`DY4&DwU zvw!N}!?Ow9LLYZdkG`Vu|HOG?n|z2gt`Y3>EMj@Ad|ZUUaCb73NR*zP>dy=EwSaE* zX8%CFn6tQw`WsPujsqDPQZBCdT@B z;U=u0JNfD;aZyzAs}n1tlKG7vXc=EwL0&|_V6`;o+3Qqg){lW}X!v!}M~()Me? zrS*iE<-~~OBr&0RotmEph1C0U1+>0X#L7X_Y|gf+jCcs^@*C*3HG-ZofU7En;r&xw zb)At%P{B+!2cHa~b&oh=KW%2snS52?SP`xgimKMA&7G%q(K-Y1hZeiYaEsW=|xn?`N zos#sb2fzU^{_a4~8e4+*$oR!StD7`60%T|Ly#CWwhlyB+^O`Sad5RCsdp~Ns)A-p{ zYv?3Hc~chsyVnp_vjE6l@lrQAUbm!dCMmB;LYNeJvC#io zB=9LD_zrpln#8OdcYqVq_x#!QBja5w1&3kZD(>(~0smPM-^Kix1XlTn_L%h3+;9Bn zRc(N#DYKukHO`063Zoa~M_^7d1-lJe>0x)-BZJg1a#yx;*3aLLPz~&Qo$W>CI0&ZF zaUG%*|4xTtF9;a!TfL+A_^y1Mv*whr-p)A^0CZgc zvnH9{wJn#WUyCkfb(5nGTo~@dAF_>&Fe+NkXZ3G))ZrL|nzjwcJ`uHkv5>K`T&?!&QaR}1V6n}B{JrK}RJB5lXPie%+ z22xSHVXUj{e9EG_VWfyy z87{x3i_CP*8j&2odgRV^$gT@6>1rY+7>hJ${dwYV*q?Gv*ze zTB(QDYe#d@r%->T^ZmWx(9evo>ljr)9@1Ob-1xJa-Zc!z`v=cblI)W*%TmG`3!Iar z@1CaP&WDz(fK{S|B~Vnf-CawfX}-$-s)gFSdj|lImr|J`8G?p0h&k*TmtSd(1*?`G z3S0_lCRfYp$%C=9nJ*WtFKNDLIh<(SR9qQZVe$SMGH=s^`1beh1C84;8zHdlab=vXR*X;ZKYP}hPx~dD_sW(ST-QYeMV4Ko)S@?j#uW?v~ z$E7Iv>!Zg4$Nsav@@OxJzlmPZD4miO!^|PzFBSpQBXB(uA>KR0|I6A&=^6GM7+}U< z()A@h4!NPQd3%xA7f*}zX7=uO+wP=q$x{TMn;5EeimBAl2U$eCY$n)9P|7w{lkB7hQOK$6|^%n@-ZYKb0)BQFaOCpdJn|Fg=o(mvN*_ZZ(_)b^N z>*>c)6<+&R8?Y54l#b-~JoFmX3VF)=VWkYoAJ!<_j{I4eG%7PS9;C(T3U1!dcmZP~ z4+-fT#1#|Q_Ug~Xv^m?rXFzdlDTsJ&+~L~Imi`9lSR|;;FkEI#5^O##a1t%44gBE0 zXavj-^CxHDxPpky*o}16b$RdOm>!INrPiNeb~o)0`3(XaeNTpXYt4-lIfL4Um0I4xFlEwu!yGfz!{Vcmo>_>>~behPZ=Q% z=cKASs{j=tD7Cx^x>?kia&2d9Whq#Kt@dsVaW3Rn@Hivz`$T}>quQ{M1GnFK+Az?> z#_YI`YctU(m@S}&;T?!)3^CE{Wtiq&@QyH}jcncvgp}tKr|;#f$o|59;W;B{s)-3& zHMsj$t3hRje?oC4v#E}~BF6$#9m9E#d$#uI3sR%gWNHCvDcXCt^!wMlK(MuM7i4&k zD@s`SZjJTG7xB!T-k4T0K=T4 z6GK6iSIV1ggP-@~`C~{~!=g-$nj1wkW{y0fZ@30i!}7oM@17xGxC*kVDoZmW*1mkdM6Rms+q^AnXDNoo0B?B=OGC7t zu#fHn5Vb`1&IKrGthd_eON2z#FogYf zLeC&-dRDr>AR$O1Cd)IFP`Ce{e-WV~d`tf9uYk8QfN(R_1}d(QG#&;dh7HGvSo zD5LQs2&&wcBz~SOup&?#<%3U2R zA!uPRV?|m}7T*F0IHAipAw3F1`uQ^rLavBC5JeZiQdT^XRj!8eyK88#VqUJ|w{5wM z$7czVMmAT3m7+1Q^_c{^D^5jsIuk&W?Qz_O{ao#0p)by*NFU{ebN)E)|6=YQrK80g z7&-bou5)NFLyQBxZ_ZYwbsvXh|4}*m0_7A*Qff1=7G*aYj9ky7yrimmU;L*#%g0c% z)<~L8ZxP2btg`x(T|A2sindQJwIRkK@iLR2hZNtNccs<=YHhddlUlzPtAEu3LD)FN zp#>V^y>+;Uuk~cVav?TLG}#^c+^|@$wS`falKi&TBq#o-zG;$)djTnms*E6M-T9)2 z9iwB4P5l+fDNF+YtV%&LFUaqUcfWu5$4Z1QUNO_SQ%}wSy8Zi*mY`kNqH~Tb*Iptu zwH0449);dq(5MOXe=T0G>KdJoYD~wrrA6vAacQ=+s<_Zxd)7ro5^|%hp0KOvb;adn4dBy=Ui5XI7?z`J~1xqkz;jV9?igg zX(6beUYjdd&S*R7oMWQa9bX})gfeQrs_|teNUjAWnHTj$gH+ex{PApWBzaWXscGj3ZFf&k;i(ZURVi89 zwvqaF15*7NgG#(c+_(wahO}s`S>j4|%V5C)2dx}0a_PzD*AZ*qegOpbRqsjEeF!f0 zQN}w}M|QQ62G(G>Cg}Nd$P8>zf_L?Cx=^i&tMi-G$d|tuyt{DKHMpYW{W6$MEKJdQ zuxXp_r0Lj{vW&%kg9k@Z0#s|?12bCgJPT$1mQYrZ1NH*aT!ge}TVRBjgBfQZn=aMn zeI%Jyjyg?Nj}bLP0b}5ZD;W<%(0%&e7%$QTpltxyoozF=w8Up=shrL(sDvK-C3P)6E%2Kd#3HI?x z(ukcB&(MzPZJ5nSxpXz|SVxptv>HItcNNaUJZmUbP<>uujqQh(?V99}9YN8Wz1?E(DnTX)n z$7~jP_$jY$LM4`I)>nw|Y9BS{t8*gHZQqa@QKWX5e!e;?*Dn#i@EYkW^Q=@!B)*1> zs{u3dDDKet@ND8Q)!W~?jhQ(thpQTQ7KA--qn zV4{xgEBQ$(fLtpnSkk)PA}R1d3n!MxW3Xqbuo{oq{7cs(&-uy}I<}FS-JV0i0 z2RLW?A$}(j<4R7gmlf-z$fxn3)yJD*bUknOoAS@SDwP~)1N)N;u5smrW)`*t2 zlo?7FJhQ)g>!(L*w0>43B<_=7W#|)-iQwKT+$!bAx)gT&9npP%*0_&$c!7*T$V0b( zGR6zd3;f%oC%8jembNWtlXQdAorTVg-Jyd@{9nM-CW$-5n2>1{+lC&*SRANwY93?{ z@oP>-Nd*vqBNN}GmzdVgODRknlf18R4N?w!6!iv>6FA2T<}m4pkQ^vNJcaHUzxwhpem->4w#00;jaM7{Is1hF+AkT zS8(;gRG0WB|2~L(+E(PY(rh*3U3XN*6mj5qVxk#j2id9h#@(D3L_#poG5`aLG) z6xDW-Ef!)tuZTN?ArU;{(a>rlb}}H6$G!W`!D+-a6%I+GiZbx$5zoW-CQHd&o5~t` zf0u$Z=ji_KLi%|&PCqnx!qFLd^s+}}AtGwg;Ak(Mv7OtL7QHXtsiv7$?Ijp>EjFjo z1Ic@o)9dcdCC(^|z!7L*nXFg;eXFMOTRMltQ1-_J!=3P~goi9ylXi=soHXIV_d@?M z;3V!r%CLuZwVEhNfutvjif6A<1m`4|mXAJoM7WK$?ox8lH~7Y-BM?D4Mps;2|G{1< z>)ea5j4AU@dPyN#Kj0DMGF?MCqIeH2bW4)pU;#zOgacmEUrt@IlPHurd0a+ z2yDbm{Cy4`P};4ggfw*D%KqvIrfJ@O+LIMk;N?VGjCTlJ$z@?C%vStfvMW6>O%Wdb zC~^9zLAf-we&Hr@J;u2?FQ}g~StggVP$-g)UFAaV@al*7EMGl-^VSw+y~Y07H8v&b zXAS(~CpzqzTz8jiUdFZ>kLW?c&gOvLt+WtRQ^VoAR_*}Z%q{W0HI9N^MC&x2?>VDx zrGc;fl|PH8(2FjX32sK%o}wBOqb$mfl@GBTVPuqWJ=&Eyj#=z;!t_4g$J8acay|j7++2(pgVNzA;MdfYw)gZNKmMtDfep`|TPn zg86UdlNB30zIF+6rD}c>^XvNC+KWil6}CzIbH=7Ct##|@1$jOyS1{*(faU5{x8aO~ z#yENaFEEk)Vt23&-u!x1lhctryC+{{jGKL1zfqH8r+a)cQox^)8E5ZoTiq&Y@z&7` zA)5EPgg+lcZ1O9L=+e2?;}ofHSjd|xmA6CFUu&q^o!L7ZG zt;e&(6*WmQGa7gwX7qPBoQIok&lS-{TEUW9$g{P&Ni4-Rt|q8&t7E~+(Q@WqEZi{` zdE!)Dd|68I$|{Yocz|3AnVa@0lSjOwL{M$miz>ppbzj7>{zj0x@8#J_iQZZ9d^5#1X%T-I{|B*DC$$3=Enzv8 zyfjnXt5cNze9o@u_cIgD>;X|+GFA_Ev=dToaVVtvc z(Zc#%6yJCLsF9^ZTDyucuPV*?Vz>GerTU+76R477;Gh$q`kntwuELVNoYF*pnq#cB zAm0DXQar+Pij}VwvGGBg_w_cvsddAR9Nx7;(rq_gfw}B2EOBN$?1?%yyB>$eN!6I!2orJ(2b#t3;FeDFjFlQ=iVB87hR( zh-SQy3>v^6a65#Q+`wpAxe# zjjUOknlWjRS}k;2Xox?S@*ceY)Jf&fN8&js$ImCqN zr9U9I(Z5NZ?*uVyTBp%7JsXTCMbx4iUO$#&F6JuU@hu^(6jg3@`pv9SqM=z`V_G{I z^mq}-m9u#o_?xFSAFy-r{(?$&3T4pzx}0L0z}i|N3=?Lztg1l~h0xipGnF9{cD};O zkY3rV%~5Y&#pMsv5UcL3Uc)wj(^}|Eyi=1U!`rv39FE@agNvJoVZyJzepvR^L9QM# zj@_?2KMIX785j{3zR5uZ`q3Yt7?zWVkkgG4WTJVpA*xa*)*?_+=~?H=tVQ>Y_M;&E zMriQB;)`k|S!n4ZbxltEyYtVd{5mV|L$1Y(Gp5f;2vN>~-@^jOukDT{u^K}!jwonO z1NrGKS(CU-J)KwR$d;9g;`LEv+B6n!w%O-U`WdWj9-CSu&)PU8I%VnQUk;}eR8tUK zD4EqqrRz}gr_?c|%AA9tFQVo?T8>u>HFjJEpF$a~FL8nhADtadG?Qn%@H^|Gma4E* zpD|9Rz#nu!X*5m@Ij1l;D0@9v`n`|d?&thSa)R2L%;2y7O&iAi4hb`DhH~0e zvN}B6@TIUe8D!8YA|@llh?SJGd&RX8t9+w5C^n_U#BU0!WrN&e9@33{Q^SL1BiA(E z>CNYe@T#-d`$8oUzORbS6SpW$=!d=WqQ6QoJe?>>?4ctgT{CYkv18S8;bizmYDvZz zLC!p&Q`uD~Z@02HaAf{9p2If{92nyHUbBjcXejby4hBypBj1&F%tHBt>E9L}8bC}0 z1RUdoWILM*BWDrAb2a4Pct*+*8UNU~O<8lPUqv?qZ=yEa3LueaQ`R1sE=8d8A7o)P5 zi989~r1_rW{u?YghJ_KKo`UO$x!VSdwd>fs_hV@`FB6XqQ#^61dn726?ebXASYyp? z$QZ{q7gRspENkFCb`Ii$y;$uRr-L&Y0_=IYA6R8A>DB@hu zqN2oD-fRBba2HeyEhRVVW)*QRBXR)B{C*a3jBk~jC3-!eRe;yvHor!K-;(-cvd|+Z zUT1`&i9y2O+%NO0#(l_AE+#&m-gVXLg6`I#A1&(mewdEXTWo2qq(Gn?LqT`VeGei0 zM5i=avKnVqm!f3riz{wv*1Mfvvr1EJ7?&~p476js2aHH4TS&ke*(z^EhfN~#2B=;Q zdZkn|)o3O!aO=`!3|OHSvJ^9G!X>>7>Y>6l)7e4RithXF@e7v&1-<+gx0aG-@=$_725J#Od#x#Vp zA5)CTd)Q4Vx@w#B1!S*?9(>Fej#__+Q$JH)IlvtpomxG<6&NB*?CPOO0~*;grF0K` z`LU0j<1-6dA^tw`h~exJsp|Ws0giZTg5gA)0$BApXJ(Z6K>h!@($m@DlSp40nm|3u zARB3%Y5ex{k<_9fGBBMq^Tg{+IX7}&XrW2IZLG6XzaK!<%UJ|ZD_+e+|K}`nn&?y3 zVju_Qpa+m;W?HHZ85btV<_{&`e+; z?TlDfia}Fa&7hw^*6Y(Ht1sOlsKja0s7orp5{a#_J&)CTL*^1;FEngi)rld%Tm0J6 zF267}Ixx;96m*@dj3=o6$Dc*g_ukulC3F9*elpa&(l{-5n=P{8HbjJd3Y`6{22ggJ zJI&i$&j&UH$MBX^{c=x~P|P&5taEZ4R*IFpBn>PKUR;P5d%G6GM_)_pKd;fe{*AoITC10S}{#iBAzTe zGKx8AAlW-=^cBT%LcAY^H*g;dtqpDhTStcKQ~GZ0((GoZr{Xpvw%-axgy2;0KL9ix zjY9v&wg#yoVKNGXkowoHK|S{7h_&eTc;{2u9~Pa&%<5WRuYab%!0*rVDTTtT01=8W znI0Tc-tx<85e{c4Y49BPjC51fE%|W!M#KNbCeSPmWYAIOcrW zNpLu9xtQ!mIUfr-1?Ys`m5^uv5%d`JcLlWEL{r?wA(k;8?L60rSR3f{kUqLJuMxwW zf}Vs=eCnrPqlS!>X24+u=R%(wTlO}38A2s4kAp@ts@?!1+pRH)mCERFwY=WXi-mMS z#@ltf&b9ZW;=ADfBf^AFh>h7s58|phrsa)MCY!3F3y`fpZ|5tPgRa-P_R_W5bEC93 z-A_O#*hfCIDE4O_m079a}B+4mEmT0GOoNsYZG)b%6)q6n8BUYZP4HV`;N{yWs zO&YwK(*y4oq_b!Vs(Wa?+fmL49`ZiTAw@5#)o4~Lud_!sKZxUeqXK21We`FN>6ygd zs1wo5(Yqc^n9YJzBkY6q%)hyn6LB7hatPK5mNpVoOFP_uWkeGc2NR1QZBSF`XBF0l z!4@@$Ht z1;%Oc4yknu#}&5;V|Ahllt0f}^Arv)95&%N3@&0e*2xnlr6JN@b)7^@ zKZA<(Uegqi>z68&HDJ_Xy2F`p#97~sb zTKJkF+vfDINj0CwH+}n~{0{qiRO7n-^C$3`VUvpCi!~8-&an3Mf1zb6Cfy?1FJRW6 z5VrOeTmDoIMlMT@9#v*LN??N@XVqWhut61mO+SMaa z)Mj~=U8EN;mJFOsvXVvPmsv#_81R9%T1yDfFsoSy0!-q8Z0i6Gi@tOBNgz zFUZZ@d~cz;`O(K&KEZ1kD$4| zO`4{)Zqch(XuieBpw}(QGgd{VhMQ3_tOHej)LN*s@@Q~})(Le=!*L=b$gHwMo+(YB znD<*ke*-fGAs*ldIWi652&0pvz;QpBa^PGgGm@BGp!rldLqzduI*0=JadpEzt$-7R z(lgCEHBA#-r~CTv{bGCNrIi76wE;H9>iKYX4i;H932x%f`+K4d9cF{gZYR0bH{wJD z64w4;q$%qiKXcbm+*xtw%U{<_(*)K~@s!68s5CQ$2Ne{9>DS;CviD^$DipY#k3P!gH26yGc{#($GA?_Y=ROn19rCNz>agsTd-3!JQP#U6q*%6|D zcBg+=zX_y%TGlnJOdBZaov`z7pvZo>As==J5&!=L<>ntiOyn$7HY-6a9b0oBv*c0u zeWv%}M;V4zT$CS(^%aH#@#92QF4cb&!Cx#MP-(~}7PoFarheV@1R-E6 z9(mf9xM8t&9HIj9BX~{hpU1oh5reCtJ1jhWnWc2QxU6BS3b~(jf?C8VU;F>MgJvme?N^9b*B1wfI9snDo|par3_$B*h?_{POppmg~(=_cliJL zdn}6K+_A9nZs!<(2{2>^RzA{R%% z0}2|A+PYGbs#k5VQw#+zN<-{Ps;%nlLj^5bRoCiP5b8HwJ${ z>le(*AhP=BR-MH_hfDBsLRQAd-;PFH9O?fWGE5NQGMFcV$HGqAos|`hlw{HnH7@hz zKF6Z}-=j+jt>w{X_~^fHYJ6f(K@UmhqJH=^D7U|Rej+*=)A0YEwV7s!duKIeGfKX+ z^(pCRCHy5HuJXT^h1mYjgn|Dj7G-3Ib&(I^oa}4e`)^R7iFw$EDZ+B8|C6Tu`E|ZY z$f@o-Mf3ylDBK23Nkz=P^Ur~8#POV5(uG#%YX#!}d&+=x9t{TfoJEKh(84-w*g5N)`E%R?Jz)WZQ_i+p=5l<qFimN!2o1 z)zwHNHDu8~rYA3OKR>Tku&(BDyC)lwfCC(m{p+^{Ap6Dfn^ePrndkE|4{yQ#Q9A$w zwubaF^NDf~9E37OfGrQSelyoPztm+c>zQBSZy}KL2*;9`mU^9#I==jG20$^9Nnmy! zb92w<2Sy3u-8Poi%T>UqE_foC(uXyJ76}4Ei#m;YLln5n3q>nTxd=P*%Jk=I*EOS% zNox|!js!1td=BmEpAiLai($jS6lmK}Qfex%WKTcQZs)ypBXGVXyM!_%#(tAE2SPr_ z(IM=}!@_4}nMjXbrrF8i{PRSaEQqK3S^}UyS6?sy^R@IhQ39$mOl06$ID`;X`erQ! zX)dflsG$VW(ZaBG+j5N@_RmoAQIj!>$a7dJGhe;fwlYby6g=ji4pStSuv6y?}cEiFA^LZb)4lp6yvKoY#LIRV2elU3Q1811#SNoPMO2JGlNVVT=xe`5*Z7x%Nij-EW zFcwAoO_3kreZ~Lz2gNj)I(Eg+;*QClzXXF#iQ!|+XDi&v1Zy}KT0y`>W|a2-{&>ai z;}f5qSA_(oCH`%%ko_>hSg;~C5Ydj|AcM5YF%iU+(=iQ3Cj4PTSxjQc{^QCAwp8zd zt`bABa-nugv#^m9vUv{fh<=bJgXJMkYzuqqBProa7X|V!G z*F*S4a&R4jpbOYK*jTB489=A4LXaIh>?wiN7_GkPT=|XHyI~_HS5GQ_{i=89@cUK( z`)qM|zaFx$zXr?}7^v)f$O8vbU>Ke5{*v^-Q^HRP2IVKqe=EsioSKryre*@Y{ zr<(GP@XbMi);F&v|3IgTU@C?Cg|hP!vg5V1fEDgV8P6j%Qcd|6^R?60@Iu8If51w9 z7fq%mvg1b|TYTwwrl_lY5mrhD@LPc_uk!U9OXl~y+t@&T&_?#-=IUe&e_9&oeB(0RFGOa#r`If(s#rxqXiY2lPa>6CNUvMe-vs zOE$ayTwN}s`NZ+-Jfn3z8f1pF$x!kTWY^BHO~(8-Vb>_uG`>$m+`Eoy&WPY6v?$vd zC9JlJfM|T{0YZ}9>D>&fssaQu_;{Enr}d(QKTM<+Nnc%@a@sa|mttJyA;OGQCpKfL z%s}W8H(3O;GUGz1tOx`is?+Z&Gx4E!z{5m7WqWPWc0&{@0G;<4^H*G;DsjC3zaJ0o5Ytp{SRBSDd(P)uc^6Qo zm%6uJw2`kKm5K?H7oaC8RHg;PU;}}>;xVF>0^6>#ap^qxcOr=iGUD0QO{jfPdSXHj zL@iv)=J)X$EB#-6gbwY49n399*&qz~sE#8iWCQ)<9o96UriXY>1_I8SE>}Z{%AC`ov?EOhjrU@FW=7pn*QSlM6l$Zislle;k696qql2Yc{{y?D_SNZXXEVd(LQF zi(FI@)&oFT0{&2Qa<8%-2Vet9Qu!aqBuNk&OJ+oR1~S~BL4VRY-zH=@%Zz@|igyOD zEfwa3qXaURR(3q%*=vtxM}n`Wdw`oCPSbC5%y&Kgz@UW|BdC#2*&MuMhmwF>pJM3T zHDu1rW)_LtDQh;1CIp6z9eEF!LIQ|QPc0raS<``OsuO4WU)G3Q?7$D1Au3@&E=JT9 z84+UI8ud!$t&o`~nTZpZ5m86U(1#Lzq6Gw>}K^N=1$1o{{p;rkH z;8_F^*n;Djq4c{CBLrf927Fl#Op@4uv3QXy5AQ$zJCz`Y93ZHM?( zI~r^=gOip1FF6ERM7x>5FHO=GPyyiug~2I((pMlffmw4cK~|~(?lyVH93sAtHJoB$ z{~5$m<_m~5Z2ug=G6HH|uhPKa==NNjA-@yu1?lU6s0O_DGwea(qX}qoh{UcD{r)^v zCJb@i9gfK7|M72EA|sRFygkh(^hSZP-~v-N;9(g891e(p@oMPb#;aiSt3mVz>pJ3!Ou_jX`Gv8j~cPC;sVA3%o_BL+>m~oSrQBb9nBF?KimOhK@~#XmpuEm%5Po| z31@T}-Ow{t??dS0w+or7cx$uL)Q3m3H*P+K@ z0N-n%b?1Y4+SXBFv_MS_hR0n*&>J=?wums; zrgt7d9xO@s$9*5wXsWEM6aL%hN2lAV(E`ZJo6g37!ki5D?rvZNDYw0~mm zB?g!*=^` zVS`+O1L106t3b)gOI7zg@i>u<0|~Q$h|EA5Ck400SE>ju;}JZB0~i(cvp@gJ?lZfOlwM6q%? zyq^ISVD7Or9?0V0csfdm21A!mAv~G3ib7V!2o$vcY#6kP%TO2-gcdBylBE>VNun;Dzmc16(GBWf#bbw4JwlbMjrD zw+YnONS($Nfk4IRru1BY4ipxtRoBN4nhsk*dLl}3dj!;Ak<-A}yZM`|Afc|~h#0); z#s{W&F%{WV%GY$wJhbr#z6Xz=PZ2$_WvCAWrDZ*R%Ovpw$1&E%$N2E^{s2t{Vw@~T ztyEW_0~)8bA^_o}4!Z$3CK?;bV6SzcvdlY<$zp%+;}9=!26PQ&1TSm!^3{(FecQ$j z8o5-0po`8JIqp~8Y0}RcjX`zzMDjs8AQa@ic9h@nM9CG!gXS!)%-#yTzF7UNcdgr~ z!$*pU$GH?uwWPFKia?$KGJzSnGzfY#x>Z(!9K~S!+@Urohkb4+Zf?~$%wH5QIR8}D zf|CY6VF|7vt}A2S<)^z_dgTYaK*86ee;}Nx56N0F^~Y7ya9MC_LDb|E?i>X6!0&(w zq+H_j6;P?31oda@-gSQL7s?EGa4>?%R;2?SHh(m26v21gL-_+3yemmFn>?xbyu;99 ziZ@EHD*Q`^ME&3-gXXxosrCAEGL5B9lRI%rh+SA zA)B3~?+xOVDpsY1vg)LyE+)YPNd0;kdl;{*)C6%`iqcOdR}4rDdYrOex^d%PRP5M4 z+md5cdoOLq4e(lih1adXwbW#g?zVZ=EAL(1LlH7P1LzUSAg~He*z%tOvu6iJWVXJ9 zZ;w6!i`KZk0+si8O`0HB0+07MVvE2EJd0(3V@hX@1a_>TT*Wr<{KE!NptUi4CrmPG zE_`keDtxn9i^lVD8Zo&8Io`mDc0yD0ExZ;<9j`$#APFCn;o71e4kg)^aft5__OO?p ze)Yje1>e?bTLvE)+#*C^-ZFL<9G@Kfm$BmWr@p@qn(P`NJ?Orx&`?qV{#NTSCi?0r z4HF>g_)KKWWV+&yA1@Ia&p5fV;IecJ3d7GpgW}l?$PlaynRC{n@FF|IX)x{plRTMa zD(P>A!L^RbGmb-BhQT_>K6W_+h;3=s+%nA^)iCBfJl%69yhz_y>HIX`!HqBe`!pSa zotDTldKIoSCTD&7wvdT&X=Y4<$B;WdZQs_g`UPIlwkNzl5_}s&BRg6h0u*1LCwDSz z>St=ved7F^{rz z7uI$aMr>L3q~+4TfOqd1GvPW|(Lhoeah1hc6|F0N7j?&L@SMUt7egjGH~NH5>8TeQVnp+9Y6> z+&d|tfKmh!a-0%exp=%pGoML28tw$GumU`uBb%WbOlkxEZ z5xabQzU+#-GM}5}9C1#la5_Rg^N@s|Tg zMAk>0q<0E&-K^*Wl-gg-Xf04zk@&X zQLGH7gLf1HwQWNcaZblqym<4dH{PD1-+aTvC4%I7a7I>RwY-Y7rX$`tA zlrwYcZ7$-K+)DM3^vbc{MO?pftvl=l5ib$!C(MzCY<(~DCI~|Bt z%l@uZhZh&q;URmhQ15FUE&ms(ZIRvYAuO$lTd&#PtctR5y~xB3uNx2dcAx@@%J1@v zRJQNDC#5w*)n8E}O83PBh|UY;_ShyQ`hG0TFP2m!69!U|5h0Ywp!HVXpRuZ6NOkC= zXPxQUs|HCqn!NH@KG5ei19x_t5a#-qAnI)Nuz4oMf~*aGkbocX6sQsQsV(b?mhR~F zegWj&$_fpB5C%75l~W)2J8*(i!X?QHFhtM4dA%xTK|~)huJ;5eK^sZkmw{UNwDMtX zSgfh^wt_bwe0$>6qx?7dfnoN3N@zS4ty4^N91|H4G;^@cb^l0n+h(Xs^`7L z3%W-Bo)VEU?I0bq0j~J_^`a+X@zGIbqW7JyEv}pKcWpV`$xkIQZuZOsq*Jfqa^66kOC(-9z_;^d?ZUc1eFNonH%qYW&s%ts+#W znCw5NLhxx@_YiDIc7Abtf%_KD>ilHu;P+$%*H-59_#a}SGFAF?S#`a(!6eBZ=FFds zo;O-_T|>vP@=yDHmGQeuP3v_aKJuNwH$oh{p@N zCKx{x*}%nJ;{G0fMTAsN=9iaRm=vGDsbaD@hkApC6Vyog)#7 zyYbS@#xme_0EzZGDD5ETWn%|KvZ*$@cxet#sP__Bu)+j5d$F1^U4^@&^$5A zq!3iCrk+7khbjmjjskWlNN%>#e9krPBrWjJ%Cy!pr$}PJh<8KT(yn0vM0yT{-uhMT zfC*_+`u6IyuL#ekTIx~q891mYIkh~)AzyF9b9sU7Of^4SSBKL+NCL5-HE?IJD|_|f z{>jn{wp4U9vxWq_`p@q{hZXEK@A~11(OLTO8kp-))e&A+s>e%gUk5K?b+n3gNz(@E zuO;^+a(bq-&ti!??Ph#<%1CaMfj3cSWSSDyxT9R=(khWJ?(IoxVYi?5n8JNiVx}Jn zyQFhtqljRe@W`g6sJF6_e%hn`Vy7JLUZIS_M zuQp6ZA!s40GG1-KbjctrT`@jfD`y*S%+!e|+mW&>AUW9?6? zVA~lvV6>&p7YnX(JmKzRk5+%ijx&udT8v0MW>}-pQm7;sGSYn1x(G|EH_Kf)k%5tu7F)q; zg=(z8QcF8%NQF-*)s;uf_R;$u>N^tG->!DxfW}awu<*Fr{fxvxysDXY!W0elusxD{Ph(0rqd(%uW?m)r+H zM=i|s+A_Iy!Fa4L{>mD&B2q=m$NkSC4Q<#o0G>xYTHn^6d}N>XYhFmKzUd^{i*JK#Dkgtu~x5qEnIynK5h8c(vy&02tu||W2fz) znv-MU2t+_+8p%$7-vuR1VXbohrc~?oeh(&k6z~gvpE|;wFporgh8H>xlacw0<7sz+ zqzxU$dXZ8z>aq`le=y2O=1a&9z}52ypj@avVi_~V%QX`*2)va1FB9r+rkC%$G6*y= zm?`Pa0l-&G;4p*y5=XqQ`T4#Is1DwMi`mAM`I{!x&Nf!n3_d&6@OJDE1jUh;I2K{| z6pft}A(v*qQ1nr^O}2ciqGo+nCF1s+dVB^hP1iB%h4S~yZ%xIo9}#_M4+Viv!mrSr z2VEdk!5cK;3Y#NU^YYc3Jkq~DQxp6VPC=ifXqLHk&f+;|nV0y4U%3gO!rB+Jsg_pD zbYbjKH$Fi&AdsO9ApEG16ono_kj2yaqik@MMu3}MKDbYbvGxPj3WPay);|K)BHW7w z!;C-z2|%%e+9Q#CkRA5(2CuEO@p!|{JrpQ@tbc$=8q>_ttL+>9P~B})F%TD7ctq0w z(zaCPEUN!h?vCcEW!(X{;^;SFKd~$+nR~EMIz>6x&SxsBo=Tt}K8S%jMrP-quG~V| zl(f-QaduTPE5H8C1DfYIV_N})1f{@e6GPb(`rvMX*9=SwH0MD@Wd6_wq3vt~fHHWI zX<7cfixb#orh0e5E~i0hi}^_cOCBO&rSS z=m;TPOE6F2dfZ)F7zzrbeM_JU0lOB!8y<snR7l*4dj^-e63kQ6d%JR%r$ebm{eVbzcT#v*GzQ!1L3deH~0;;wM=jC}W( zs}9JkI^m3Av+?Z7iZ`@1=fR4_Fm{cSP_K6M7KxNPX8*sP-gC@IHaKM^UZJ zhVJL!8rlHVNzi43dSpSkv*v!oN~pQtA&I7H5GBPJg-GhhFZl}z$sd_n$yLlmwaIV) zT)ZbujvyE%H}$TXQr?fSBhN&DeLMwD9cmd#6MNvivc^XdVi<&>-XGj}-HfhG3xH7Q z;sUBdh4WM5n$=9xnv<+J?TycqJ5crx*Z^`nlb}$I4?bXkz=<}G`?Ed*+zl**-IxAc zUCt*IiLo3F`t6G12|w57paZIl=RwIdMkZLx^dJ}4DCFBtOABgeBL+C(0aVHkddAeE zV7Z@v2J8&<0Y5CTv=mSQXjhzb3K>%vYB^!J=MHeSV?i7~d7HU~=t)9>y8ChH-)9IW^HAfbXaYmI<34RUO4xy;9imH@n>D zBvkYc0Q}hq)1}n@4uCqov1Ny{uWgw2Wt}9D9FP|sUR<)(3F&Yb52-G`?>yE2c)mAr z2i!$&cpoTnSVKfieI^@sjp>K-T6$1G(9f*68y@Sl#KokGpkt-J!sglN@Pb^J>q8RB zAd|ENwR`64F?9*;#qXd4HU79UUxvUcHV(j{mLTqEs4=C?_+2(}`U!K2n@AnJeI3LX zo&n8w-WAuX9Eby1@#z_++47#sblW+g@ts0BJ0M+9L@)YTHdV*L)}Xpv2z3m=7E|q8 zIC#DTppl=m_cHili#tz$cvejSG>^IMvQ23g)k+h*>ODYm7lN$x7kceD6=r#89!*>I zx+uTu-w@hydne$rN(UVweyHdsfPjlRMlbsmv+&oeuZ)1WL?>qPhqj7W-$GLtjCARI z-#6V^M=nD>KoSE?tMeEYd2)7vI%&pK^A>WugPKJj{d_&5d2Cdu{x>V>_zvTh5N`nt zFzFkU^-W&uqBla<*__%zN6k1a#E&sJu|1N> z?cQ)a7?NP7czune-&zWDJ@9kXQxIJ@1?sMLeu45diz_7GeNNhMKohM#nmNu1)ac?z z?QzX*Hw(P)tlhj_LT7p$8OzL#DRt?P5@DC@^8RA}xcL}VqXPZKojcwgqI-SKgts|* zP_sCC1jFJ`jvOvpwaj0yga{qxDfFb21Gl0)%A3kABvbiUORu^6MYhWF4470WN!|;B zDlb-=mu9s?)=3|2*zlgSLT54jjj(CMbIQ>CHQBsz(B;t9c>^&niQ$3w{ooNz;IL6w zBvm_*5k8{enOfGmTJo_?3fIpN?R-=J$MCWHtOH?OUdbkeT;}DZV9?Vq1TQe%WBZ8h z9_$~O^tJGdE~K|@C&MIV1Uzxca8*of#DW&N<8ps4@27T2OzXNh@C~y2r@*uc0LeJU zbPJ$zwFBowIGJ4=yxcuc_X1r0{38MEG6#&$R&P%m2qb$mS(^IqRg?!~mpV7`p|$`N zy%109pdY`BZ?>u%^HyzZ0U0-q1f^C(A)dSCf-?_;LOI~Wc;g3C+8yL~rSo~;W&j*^2yY_kV^53oy$o>r>8d<{JB23if#mpRgX*)jK~YXNNg6mWr0 zF9v%zSABQ9)&vsGo&ais{|r`-l9)`94*x~X&9{xMmA5`V0OnBs*9 z3|TnF4W>N?uyI`TW6mgV*3mx95LgO05x{7uGwL)pYWwR}jKOnc&Dhtn6HFl|@pz4S zDOydfSuaBhMispYv60z>OBnmBSo&ZEqzoffSO@5<5{|)I*a~Wg;Q&PQ17ID;Wbl@zMZN&XI^1#A zf~>46Z1E|D)w66RT*a8li);HKki*y|#+O&XXyy6@v8beN@T;g7G~RmheDLv$-OpFA zM8z7nR96j4+WVO*tCqn`@+*r=S{61%%BmD8U}ub}T6`&Dft_GtkKt6o!kZ_nJi@Y{ zP8X6i?QQ|wB;^kEOI>l-MsW9(&WYK4e&akfS^ZuDliqi5(;q3k5f;f45tl!eLgoajGh`rB{JJUhut;Eyc~2t(uQMhFybxc3?-J(9%H_ zms$1#rQ?0z#zV*VimRjz$^e{o$OutNw;CkTG(dSUxGyrx?uTUva{qF>E;YhXMzQtx z8`;GXB#hA8sgiy10X6z?4S@Mo+=9j_zT*s0LXlajo^?)z7!Vv$z|!g>Ej(Kooiiy( zF}C-$9k0JgqbttzC{|w^l!_8rXoAiioQJfChzBQ6z_yu>zm$%VnH+_-z9P)1;L`Z^ zFq@%+XhsNS|CLfRXbN>;BlN-xuRdliYX>;`^wJVaf)Lb)8Pub}3~v4*nDylX;DnNM zl-~=*3+~zYrNhFAlH799rNQ6Az!o@VfGGq}Xv14Y9fdl@o$F8ZH?IZRYtVhID)HuU zRz=@uJqPW6@eC^xmKT(aIB6_;40FEeqB_{q!!!C*aw0p_?w5K7D?l^KGZFN8ECDEY z(0-1Ru;xV&9nLZ$%Y$6Qo)8;QJ=rhp^q4@`?4nN1JoqAD2O1tm6+-g_mTKv&1@tCG2JD%C0j(=D5dk9-wu8Zyr?) zorHzYCl}ej6d4++Q~S<3zon1!m08#Xhps$h3KNzI*@*WO+APOx`VlFkpggjNI!>Tju~Cg8<{chfyN%5W9c-qNe40QK$LNBEyVC`jm`HapPoVzMvnf z6%Gd;VS+}M8~=m_Tf2jhy_i)GrB+Pa)@ge+W^LB1UHQwGBO4QyR&M9l{NrvNL6o|g_>ahoMbKGzY88$*cz>Y&&2?aG%7?=I znD58J&l{ziufjn(tnX#7{NXp8wXRn-v8E}Km2=&9$5k>VQQbutG4f2KL}!p@+Lp*P z$@%jjLnUsqI$U`pbmeV;13Ut@eFPu0mnX}Nwfycp$IXGtj~F@O`$d=UJq?Rub^Mf; z+ji~N8bDJuE*i^EEM|4Be~bl}rge z{z{x@Hn(1zq$T!eb{J_mHfQVFw^JBRqrVtUcG)hF9^RQSvw{hYH~o+^Rt$69zt3y6M?P^C4@6;%qm1bXB+-*ag;Su+ zDTuTq`RK;rvIF)Q$SdV@sxPw2o}mZKhi`vpD*vJCAH^9)81kw~)V?b;<~U1lj?R4l z#)jjk8C~~V+f>DE?Sh@(Rb6Pdu6h7hFplvxzoxx>c#${#yAL*()m^fFVcvcV=;4%z z_ZX20tAJ)QCjG-OfqQc^ha(Q2r#?dznA2A3g}5;9;Q9d((9oTbIK^;SzL4IaxsQr>s?^Y?bVHiYJ4a$A%FX4O`L&B~dr5r6-TFnD4#XGR6 zqALBub607jhh<}Uica6sJNKjthSIf=&7;Gbs2);}r{KW!DDnH?<;(rMyN#ExQLx3s zhmq4Z2#={@8NFrV5mhL~G@Uf>;bE-q&eOYDVqv@|*-9N9CKRly3wN{jmX5rO>T(a? z-^;klQze4LIn>b6|6KH5VFlfSYaiUyc4H{CyUD6lMkWhVh(;;-JUs;vKXKO$Mw&iJ z3q%MS{n7=v-w=J=SL!+73YBfc-rul$^Uho%?t5@71N%e61ma4AWHVglCzFCRx56=}RGV>mFznKie_GlQIZO=Qw6W%ra!tK8B;O_l*)w z)L1ozdCJb^ULE{afBwaJ*Lq#Kk1pAD-u=zD*|p{EY$}CuEpsaG2R(I484VsBFraL)hX+0t(}!x0H!py#6hDHMt$SrSu+q$1(Y~?WcwH3 zNbE6DTOqA@zONVRt#V@_r19R5#qKB=`TdGJ6+VQW*U_wz$~_uRW=YsPyzVHq?7g(W zMe|&;b~&L@30}|c8QQ4(*eE#cyDP?LI`Y;;ZnmHgEy zFvA|H4kY)oyfBZX%u`&?DPawZ87b)O4qfhHr+G(@n6f|u!#dG)IFrjs%bN+QQf4{RHxVIQ}5 z_^x(pHu^$*CsXhGhte4&dDNyASthl4b2X_Cd=Q30AhFXY)E$sMOl-zqMP0Qyw7Qj1 z{>3!WB5}2Wnna`)33FDP^j0C2YH|S`X3ngeqd8l1z!eN9%6hd07y~_YhrK|| zf}T1PY{x>9_g0O(1^!Ji>h`wc&bW`X=rd}0EQ@}Z4}!;)DtlwY#`kRsJJ^4}2VU5L zUxV+e7K>LwUV6>1&nw2T|k|y3hx6b#SnmR-xFADqhS-c8DUBq@Q_U{0B`b}#xJ|-Ol=+;hno5K zl--OfTU&sLN%Epm9a~JGEh(H%IRt3Pl&%lPDj)#&02`ha;S(D3A#5zSh>UmB9iZS_ zEWXSy>F$@)*=ubZEV!8v zN{=OpwSD_;|E+6=mi{yHt=Nc-?J7z;ScR4kVt4#CXrny|iy2bwdc1v}&*lJH(d`a| z*Txdabjgm27%?M?8vu9{dN29YIRZ?d^tVfAe3 zg^&+uQC5&O1@x&dn-jlmubZ)OzPS{s6>%VvrxThrI#_V^xa|?SA>+}4y4r*jPK@4R zrAY?q`ek40-=dohx>SieN;}!B*IE$gjH@=5$$93?c-hMSLB=Onf1ctGpUh)Jom zV@QEKFyamWjKFTHv~(9i+D>cn`)``w^{j6Iqn%Egdq_%OAbFO@l`3x}b97UgU?c0^ zJ(*uDV=G#kcX;|Ha3UHwq5pI2I40*NS+C~J+XtX2I&+PIy)n3H$c zIAj)gV{Br4uH53J-gEj2%YlKKri^Sy!7WyC%uAbfmRXiJ1#L;ikh8T*MS;qD6UBLh z_qAk~ZtT&9uIU16dod|b-VOy8aZ!Qh&pBJx7qz&AeMpTi z9K@E5;zo(Gt@cz4mkgT#(RwFa@9wA`DN2io^T5gINWFjByb^tCkjJ`TA#+pnk3*+@ zzeb1ln!6nDb5>MYQ%5!5%DUR_Gbe?;5bedtaJ`Ssw=vMq&Yj3yGPPuxx@?*!$m`_` zlKzwgfuxvMf3AnEM0^qmR%1)?kfLY3&k_l;Yz5jX9-~bx9#dx^j88Sb8EOk>g!xEc zq)@*{^ZyoarH@&336G{};(G+LWA%T{z_3?DvN} zZ>Dq_wY_s(ze+6CvYKcuZgj3#VC8nlcz2{UYxt<4@^M>?9=9JpL+S?w_k<~l-1{<1 zE@SoaAVwtY-k}-(AR^y0+pxKZj(2)(STB$}_e31aaQC3CE5Fuedq^kKb#s908H;D_Q}ajRU$^<*cQ9ZrwI8^sv!QiM zFkSDjbo)Mr!8;u;rBn2-Zx>E69^D}4^}dBs6A*jh?0KILQuI&~Bs)5cP2Ppfd1!DJi(rep}StQjB2I5RL2h0~Zq)OtZBWb_h}f zpDlo!unMA}5-t(vF$eg#sAu3<_IQ=jrU-Y@Y`5F)CW>cXQ(08-^z)n_R9uWC84L@e zlwcRXO#FrBy40gjX?**K!*IOC1-DkE6L^_hqMNLyk4dpg{3IqWJ;(K8LH3=whuxuA zMMB^ZdDM9Q#ZbKvH4|4k?0|sGV;26-A%i5r#YE>yC#AgbDrEw{ZB$zEjfBTUBMu4p zB}S-csy={yd9^^5Qk{y@@jk&uy`WMp_%L02k|76 zM0?KDUNNsky=H`0b@W9(tv!!l7T7Of5!zt>D49wlt zOEp?X8LjB=2>(KRLr6f=Z})Mz4p+)A#Rk26>znCQet*6zg80MS8}6@NHXxhW>AcF5 z+MO3Uqrwq!;yABtM&QL*Z|^O=L_rAUT^9`Fkseum=b}y-YR(XrjKME49*U!4rb;z! z*Tzn6xIG-}$ameRPqHfyhtQ&YL3|Q;UexYX>GAS788usai&m?nAW==RU_Ep+(f&ST zn-iLEu>!iiEPCw?xIvOl4$GIzuY|>awb*^p81A;3MZ14LoDh64+disb$;pZHcdd1-seK~o*_x;^=iT%!GRii6b z@5(EMZKso!HFkvcMhw}|6rqr255?Sazc{3-{JzdIpigRC{;-PFLDT1I zKS1{G7R@_^j)3-Lo?z#QG6Ak%3d~CYSh$W-Akvl#T?vP2W*>qqll8OPJzj6BnJ_|S ze^EPrw!%1=Q>B`lzcjDzWLrkxHk7DHUKX?>A0eTwu1GXts0i?xc4jF{2jUfVb#wv7 zyhmIE!`L-)lKlcECKlv9nu{73XFeNKeTxs5(fdAV-dqF0E4mCBHv$<=ByV1$dtTU* z#uNDp9JWPVv$+YSbAuW>!mR^{G-e&lW$}mqjKU?qYJ5%5LYFhymVaqRbO*qWJfnN2 z-|WE+*+C$aE6hb{RM}(Ce28->L>zN7FiF<(o7lF;XGTbL@#X7c|sK$v3NSL@(m)muJTBQ@#9k_WtB@ zq)x%A=UjC3PmaQQ-cNe&G>H=SfY$ZQh-4ZS^BlUE4CW@OM?iOKDR4|};C+}CaEqZ! zyg^wH9Hk`Vs(GR~{2guDg73`bdpOoX4a53k1#kj(0<8B3g6pJpZuUAaTJHuccfH@# zlP5zf(g0H9rbpCm6;OPS0&XzKeVDAs9RmiL;zFvQ!1ec~zuottY0;^$TS4yVt|`8J z+~XfcV_sJhCs9Mu&_9vjdE8Iyh+Rlmqbl)i!_C7t(>;$($?IW~8YDFIu0eJHYLxv_~0zvY~_!AP1xo3}02 zl!)cVjg`k0!C1nSwv|fpO7Bt6rbi!llCVVkhd%%wt-A5qxuq_39v7!;-u%?=XX~Ua zj}oENkK0XbasT=k&}-2aIRTC0vW`8=Vb1%JY_^suEp5_=M;%Mo-ejScYmd@)ZQO;cxIsNa%Lqh8zb%!>9;DRLp|Ob{qj& zYhnQRZ0%OCK3vUt1A11*UEv{b)MORV37zn##8J=8R1se>rQbwfh)t0^DZO8vmGyF; z17^Y)8>!chvj?0&a^DmSiZwIhU;EeOeNFEGx~3+Z2L~ex=FEc(^c)jWuf@%)?v)

}0NRad5~Z{Z=>pmu_9c1k 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 literal 0 HcmV?d00001 diff --git a/docs/img/startup_sequence.png b/docs/img/startup_sequence.png new file mode 100644 index 0000000000000000000000000000000000000000..07931de8e494293b4303c05466dffdbddc2a2123 GIT binary patch literal 111569 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 LlamaIndex: uses +REST -- api + +folder Container as "Index folder" { + file doc as "default__vector_store.json" + file index as "docstore.json" + file vector as "graph_store.json" + file graph as "image__vector_store.json" + file image as "index_store.json" +} + +llama_index --> Container : reads + +@enduml diff --git a/docs/puml/deployment.plantuml b/docs/puml/deployment.plantuml new file mode 100644 index 0000000..59527e4 --- /dev/null +++ b/docs/puml/deployment.plantuml @@ -0,0 +1,16 @@ +@startuml deployment +left to right direction +interface REST + +cloud Azure { + node docker as "Docker container" { + component "LlamaIndex API" as api + } + database volume as "Docker Volume" { + folder Container as "Index folder" + } +} + +REST -- api +api --> Container : reads +@enduml diff --git a/docs/puml/search_sequence.plantuml b/docs/puml/search_sequence.plantuml new file mode 100644 index 0000000..53bdd2e --- /dev/null +++ b/docs/puml/search_sequence.plantuml @@ -0,0 +1,19 @@ +@startuml search sequence + +actor user +participant "app:Flask" as app +participant "config:Config" as config +participant ":VectorIndexRetriever" as retriever + +user -> app: POST /search query_string +activate app +app -> config: get retriever +app -> retriever: retrieve with query_string +activate retriever +retriever --> app: nodes +deactivate retriever +app -> app: generate results from nodes +app --> user: results +deactivate app + +@enduml diff --git a/docs/puml/startup_sequence.plantuml b/docs/puml/startup_sequence.plantuml new file mode 100644 index 0000000..9784cd9 --- /dev/null +++ b/docs/puml/startup_sequence.plantuml @@ -0,0 +1,20 @@ +@startuml startup sequence + +participant "App Creator" as creator + +create ":StorageContext" as sc +creator -> sc: create with index_folder + +create ":BaseIndex" as index +creator -> index: create with storage_context + +create ":VectorIndexRetriever" as retriever +creator -> retriever: create with index + +create ":Config" as conf +creator -> conf: create with retriever + +create ":Flask" as app +creator -> app: create with config + +@enduml diff --git a/notebooks/design.ipynb b/notebooks/design.ipynb new file mode 100644 index 0000000..515e68e --- /dev/null +++ b/notebooks/design.ipynb @@ -0,0 +1,338 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install -r ../../requirements.txt" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import logging\n", + "import sys\n", + "from dotenv import load_dotenv\n", + "from llama_index.core import StorageContext, load_index_from_storage\n", + "from llama_index.core.retrievers import VectorIndexRetriever\n", + "from llama_index.embeddings.azure_openai import AzureOpenAIEmbedding\n", + "from llama_index.core import Settings\n", + "import pickle\n", + "import os\n", + "from pprint import pprint\n", + "import time\n", + "\n", + "load_dotenv()\n", + "logging.basicConfig(stream=sys.stdout, level=logging.INFO)\n", + "logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Llama index deployment design" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Component diagram\n", + "\n", + "![components](../docs/img/components.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Deployment diagram\n", + "\n", + "![deployment](../docs/img/deployment.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Downloading the `index` folder files (3GB+)\n", + "\n", + "Execute the cell below to download the index files locally to be able to run the\n", + "example codes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Download query engine from Azure Blob Storage Container\n", + "from azure.storage.blob import BlobServiceClient\n", + "\n", + "# Your storage account connection string\n", + "connection_string = os.getenv(\"STORAGE_ACCOUNT_CONN_STRING\")\n", + "\n", + "# The name of your container\n", + "container_name = \"llamaindex-v1\"\n", + "\n", + "# Initialize the BlobServiceClient\n", + "blob_service_client = BlobServiceClient.from_connection_string(connection_string)\n", + "\n", + "# Get the container client\n", + "container_client = blob_service_client.get_container_client(container_name)\n", + "\n", + "# Folder name in the blob container and local directory name\n", + "index_folder = \"index\"\n", + "remote_folder = f\"{index_folder}/\"\n", + "\n", + "# Create local directory if it does not exist\n", + "os.makedirs(index_folder, exist_ok=True)\n", + "\n", + "# List and download files in the \"index\" folder\n", + "for blob in container_client.list_blobs(name_starts_with=remote_folder):\n", + " file_name = blob.name.split('/')[-1] # Get the file name without folder path\n", + " if file_name:\n", + " local_file_path = os.path.join(index_folder, file_name)\n", + " blob_client = container_client.get_blob_client(blob)\n", + " with open(local_file_path, \"wb\") as file:\n", + " file.write(blob_client.download_blob().readall())\n", + "\n", + "print(\"Download completed.\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## LlamaIndex API startup sequence diagram\n", + "\n", + "Our LlamaIndex API's startup will take longer than a regular Flask app startup\n", + "due to the initialization of index objects (`StorageContext` mainly). Here's a\n", + "sequence diagram showing the process.\n", + "\n", + "![startup sequence](../docs/img/startup_sequence.png)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example of creating the `VectorIndexRetriever` " + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:llama_index.core.indices.loading:Loading all indices.\n", + "Loading all indices.\n" + ] + } + ], + "source": [ + "# Configure LlamaIndex to use our embed model\n", + "embed_model = AzureOpenAIEmbedding(\n", + " model=\"text-embedding-ada-002\",\n", + " deployment_name=\"ada\",\n", + " api_key=os.getenv(\"AZURE_OPENAI_API_KEY\"),\n", + " azure_endpoint=os.getenv(\"AZURE_ENDPOINT\"),\n", + " api_version=os.getenv(\"API_VERSION\"),\n", + ")\n", + "Settings.embed_model = embed_model\n", + "\n", + "# Create the StorageContext (long running task, expect 5min+)\n", + "index_folder = \"index\"\n", + "storage_context = StorageContext.from_defaults(persist_dir=index_folder)\n", + "\n", + "# Optional. Save the StorageContext using pickle. Generates a 1.5GB+ file.\n", + "# Loading a pickle object is faster than recreating the StorageContext.\n", + "with open('storage_context.pkl', 'wb') as file:\n", + " pickle.dump(storage_context, file)\n", + "\n", + "# Optional. Loading the StorageContext from pickle.\n", + "# with open('storage_context.pkl', 'rb') as file:\n", + "# storage_context = pickle.load(file)\n", + "\n", + "# Create the BaseIndex:\n", + "index = load_index_from_storage(storage_context)\n", + "\n", + "# Create the VectorIndexRetriever\n", + "similarity_top_k = 15 # arbitrarily\n", + "retriever = VectorIndexRetriever(\n", + " index=index,\n", + " similarity_top_k=similarity_top_k,\n", + ")\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## LLamaIndex API search sequence diagram\n", + "\n", + "![search sequence](../docs/img/search_sequence.png)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example of querying the `VectorIndexRetriever`" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "INFO:httpx:HTTP Request: POST https://azure-open-ai-common-infra.openai.azure.com//openai/deployments/ada/embeddings?api-version=2023-07-01-preview \"HTTP/1.1 200 OK\"\n", + "HTTP Request: POST https://azure-open-ai-common-infra.openai.azure.com//openai/deployments/ada/embeddings?api-version=2023-07-01-preview \"HTTP/1.1 200 OK\"\n", + "\n", + "_retrieve self._embed_model.get_agg_embedding_from_queries (embeddings API call) Elapsed time: 0.219451904296875 seconds\n", + "\n", + "Elapsed time: 3.917733907699585 seconds\n", + "{'class_name': 'NodeWithScore',\n", + " 'node': {'class_name': 'TextNode',\n", + " 'embedding': None,\n", + " 'end_char_idx': 337,\n", + " 'excluded_embed_metadata_keys': [],\n", + " 'excluded_llm_metadata_keys': [],\n", + " 'id_': 'bb398ec8-a128-460e-b821-515798985b87',\n", + " 'metadata': {'id_': '3980fd2c-1ba7-4128-a913-a6f238131347'},\n", + " 'metadata_seperator': '\\n',\n", + " 'metadata_template': '{key}: {value}',\n", + " 'relationships': {: {'class_name': 'RelatedNodeInfo',\n", + " 'hash': 'b69c1c52e150bdb73c709b7c3ef03025ce76e1848c0d55d23fef5205197da5f2',\n", + " 'metadata': {'id_': '3980fd2c-1ba7-4128-a913-a6f238131347'},\n", + " 'node_id': '06cffdb0-c000-4202-9a91-814d6d2cbc0d',\n", + " 'node_type': },\n", + " : {'class_name': 'RelatedNodeInfo',\n", + " 'hash': '5fc99a35b36960e6d0db3aec4b51f3c73365acfbaae5592a6f6865140225aa5d',\n", + " 'metadata': {'id_': '9d41840d-6621-4670-a388-496ed95275f4'},\n", + " 'node_id': 'c24289d0-ce12-4083-b2e3-3f72d48b37fd',\n", + " 'node_type': },\n", + " : {'class_name': 'RelatedNodeInfo',\n", + " 'hash': 'ebbe3fc592eb375b2108f615ec2889fcf8151be96f8228eb8df9c9cac0ac7f6a',\n", + " 'metadata': {},\n", + " 'node_id': '0d91095a-f917-4ce4-a653-61cb1e9b5659',\n", + " 'node_type': }},\n", + " 'start_char_idx': 0,\n", + " 'text': 'Demandes de renseignements du public et des médias Demandes '\n", + " 'de renseignements du publicSans frais : 1-800-442-2342 '\n", + " '(Canada et États-Unis) Téléphone : 1-613-773-2342 (local ou '\n", + " 'international) Courriel : information@inspection.gc.ca '\n", + " 'Renseignements généraux pour les médiasTéléphone : '\n", + " '613-773-6600 Courriel : cfia.media.acia@inspection.gc.ca',\n", + " 'text_template': '{metadata_str}\\n\\n{content}'},\n", + " 'score': 0.8702674996969137}\n" + ] + } + ], + "source": [ + "# Query the VectorIndexRetriever\n", + "query_string = \"Quels sont les numéros de téléphone pour les demandes de renseignements du public?\"\n", + "start_time = time.time()\n", + "nodes = retriever.retrieve(query_string)\n", + "end_time = time.time()\n", + "elapsed_time = end_time - start_time\n", + "print(\"\\nElapsed time:\", elapsed_time, \"seconds\")\n", + "\n", + "# Print the top most result\n", + "pprint(nodes[0].dict())\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "As can be seen from the execution of the cell above, the `retrieve` query\n", + "potentially takes some time (more than 5 seconds in some instances). This could\n", + "be problematic as the user expects near instant results. We might have to\n", + "optimize this process.\n", + "\n", + "By default, LlamaIdex uses a `SimpleVectorIndex` as a vector store which is [\"a\n", + "simple in-memory vector store that’s great for quick\n", + "experimentation\"](https://docs.llamaindex.ai/en/stable/module_guides/storing/vector_stores.html#simple-vector-store).\n", + "This explains the slow responses. There are no sources that indicate that\n", + "`SimpleVectorIndex` queries are GPU accelerated. `SimpleVectorIndex` doesn't\n", + "seem to be suitable for production. Alternatives we should consider are vector\n", + "databases. Here are few open-source candidates supported by LlamaIndex:\n", + "\n", + "- [Milvus](https://github.com/milvus-io/milvus)\n", + "- [Qdrant](https://github.com/qdrant/qdrant)\n", + "- [Chroma](https://github.com/chroma-core/chroma)\n", + "- [Weaviate](https://github.com/weaviate/weaviate)\n", + "- [Pgvector](https://github.com/pgvector/pgvector)\n", + "\n", + "Of those, `Milvus` seems to have [higher\n", + "performance](https://benchmark.vectorview.ai/vectordbs.html) and is the most\n", + "mature (first release: Oct 21, 2019). `Pgvector` on the other hand is built on\n", + "`Postgres` which is a more familiar tool. Both should be tried in solving our\n", + "latency problem.\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Resources\n", + "\n", + "- [Loading data in LlamaIndex from\n", + " filesystem](https://docs.llamaindex.ai/en/stable/module_guides/storing/save_load.html#loading-data)\n", + "- [Creating a flask API with\n", + " LlamaIndex](https://docs.llamaindex.ai/en/stable/understanding/putting_it_all_together/apps/fullstack_app_guide.html#flask-backend)\n", + "- [A comparison of vector\n", + " databases](https://benchmark.vectorview.ai/vectordbs.html)\n", + "- [Vector databases supported by\n", + " LlammaIndex](https://docs.llamaindex.ai/en/stable/module_guides/storing/vector_stores.html#vector-store-options-feature-support)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Notes\n", + "\n", + "- A semantic reranker might need to be added to the pipeline once we solve the\n", + " latency problem." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "llamaindex-db", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.8" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/notebooks/pgvector_ailab_db.ipynb b/notebooks/pgvector_ailab_db.ipynb new file mode 100644 index 0000000..f224a91 --- /dev/null +++ b/notebooks/pgvector_ailab_db.ipynb @@ -0,0 +1,521 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bccd47fc", + "metadata": { + "id": "bccd47fc" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "id": "db0855d0", + "metadata": { + "id": "db0855d0" + }, + "source": [ + "# Postgres Vector Store\n", + "\n", + "This notebook shows how we can create a llI seeamaindex in PostgresSQL (PGVector) as opposed to in-memory, from data that has already been prepared for indexing (chunking, embeddings generations...) in `ailab-db`. \n", + "\n", + "Testings on our azure pg show a disappointing `25 seconds` delay vs `<0.5 seconds` on local pg. It is worth investigating the configuration differences between the local pg and the azure one that could cause such a drastic jump.\n", + "\n", + "We noticed that on either db, no index is actually created on the embedding column of the vector store table (`data_llamaindex`). And looking closely in the llamaindex codebase, there is no obvious mention of it's creation. So we created one manually using:\n", + "\n", + "`CREATE INDEX ON data_llamaindex USING hnsw (embedding vector_cosine_ops);`\n", + "\n", + "The delay is now `1.13 seconds` with hnsw index vs `25 seconds` without.\n", + "\n", + "This is a huge improvement. We should also consider that our current azure pg instance is a development one, less powerful than the one meant for production.\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2fc9c18", + "metadata": { + "id": "d2fc9c18" + }, + "outputs": [], + "source": [ + "# %pip install -r ../../requirements.txt" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "c2d1c538", + "metadata": { + "id": "c2d1c538" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 1, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import logging\n", + "import sys\n", + "from llama_index.core import StorageContext\n", + "from llama_index.core import VectorStoreIndex\n", + "from llama_index.vector_stores.postgres import PGVectorStore\n", + "from llama_index.embeddings.azure_openai import AzureOpenAIEmbedding\n", + "from llama_index.llms.azure_openai import AzureOpenAI\n", + "from llama_index.core import Settings\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from llama_index.storage.index_store.postgres import PostgresIndexStore\n", + "from llama_index.storage.docstore.postgres import PostgresDocumentStore\n", + "import psycopg\n", + "from psycopg.rows import dict_row\n", + "import json\n", + "import pickle\n", + "from sqlalchemy import make_url\n", + "from llama_index.core.schema import TextNode\n", + "from tqdm import tqdm\n", + "from llama_index.readers.web import SimpleWebPageReader\n", + "from llama_index.core.extractors import QuestionsAnsweredExtractor\n", + "import random\n", + "from pprint import pprint\n", + "\n", + "load_dotenv()\n", + "\n", + "# Uncomment to see debug logs\n", + "# logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)\n", + "# logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "7ef96d95", + "metadata": {}, + "outputs": [], + "source": [ + "def save_to_pickle(data, filename):\n", + " with open(filename, \"wb\") as file:\n", + " pickle.dump(data, file)\n", + "\n", + "def load_from_pickle(filename):\n", + " with open(filename, \"rb\") as file:\n", + " return pickle.load(file)" + ] + }, + { + "cell_type": "markdown", + "id": "26c71b6d", + "metadata": { + "id": "26c71b6d" + }, + "source": [ + "### Setup LLM and Embed Model" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "67b86621", + "metadata": { + "id": "67b86621" + }, + "outputs": [], + "source": [ + "llm = AzureOpenAI(\n", + " model=\"gpt-4\",\n", + " deployment_name=\"ailab-llm\",\n", + " api_key=os.getenv(\"API_KEY\"),\n", + " azure_endpoint=os.getenv(\"AZURE_ENDPOINT\"),\n", + " api_version=os.getenv(\"API_VERSION\"),\n", + ")\n", + "\n", + "embed_model = AzureOpenAIEmbedding(\n", + " model=\"text-embedding-ada-002\",\n", + " deployment_name=\"ada\",\n", + " api_key=os.getenv(\"API_KEY\"),\n", + " azure_endpoint=os.getenv(\"AZURE_ENDPOINT\"),\n", + " api_version=os.getenv(\"API_VERSION\"),\n", + ")\n", + "\n", + "Settings.llm = llm\n", + "Settings.embed_model = embed_model" + ] + }, + { + "cell_type": "markdown", + "id": "45551f5d", + "metadata": {}, + "source": [ + "### Creating nodes from louis_v005.documents" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "05dd4f72", + "metadata": {}, + "outputs": [], + "source": [ + "database=os.getenv('DB_NAME')\n", + "host=os.getenv('DB_HOST')\n", + "password=os.getenv('DB_PASSWORD')\n", + "port=os.getenv('DB_PORT')\n", + "user=os.getenv('DB_USER')\n", + "\n", + "conn_string = (\n", + " f\"dbname={database} \"\n", + " f\"user={user} \"\n", + " f\"password={password} \"\n", + " f\"host={host} \"\n", + " f\"port={port}\"\n", + ")" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "2b126c54", + "metadata": {}, + "outputs": [], + "source": [ + "query = \"\"\"\n", + " SELECT id, content, embedding, chunk_id, url, title, subtitle, tokens_count, last_updated, score\n", + " FROM louis_v005.documents\n", + "\"\"\"\n", + "nodes = []\n", + "with psycopg.connect(conn_string) as conn:\n", + " with conn.cursor(row_factory=dict_row) as cur:\n", + " results = cur.execute(query).fetchall()\n", + " for r in tqdm(results, desc=\"Processing records\"):\n", + " node = TextNode(\n", + " text=r[\"content\"],\n", + " id_=str(r[\"id\"]),\n", + " embedding=json.loads(r[\"embedding\"]),\n", + " )\n", + " node.metadata = {\n", + " \"id\": str(r[\"id\"]),\n", + " 'chunk_id': str(r['chunk_id']),\n", + " 'url': r['url'],\n", + " 'title': r['title'],\n", + " 'subtitle': r['subtitle'],\n", + " 'tokens_count': r['tokens_count'],\n", + " 'last_updated': (r['last_updated']),\n", + " 'score': r['score']\n", + " }\n", + " nodes.append(node)\n", + "\n", + "print(nodes[0])\n", + "save_to_pickle(nodes, \"nodes.pkl\")" + ] + }, + { + "cell_type": "markdown", + "id": "7bd24f0a", + "metadata": { + "id": "7bd24f0a" + }, + "source": [ + "### Create the Database" + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "id": "e6d61e73", + "metadata": { + "id": "e6d61e73" + }, + "outputs": [], + "source": [ + "connection_string=conn_string\n", + "# connection_string = \"postgresql://postgres:testpwd@localhost:5432\"\n", + "database = \"llamaindex_db_legacy\"\n", + "\n", + "with psycopg.connect(connection_string) as conn:\n", + " conn.autocommit = True\n", + " with conn.cursor() as cur:\n", + " cur.execute(f\"DROP DATABASE IF EXISTS {database}\")\n", + " cur.execute(f\"CREATE DATABASE {database}\")" + ] + }, + { + "cell_type": "markdown", + "id": "c0232fd1", + "metadata": { + "id": "c0232fd1" + }, + "source": [ + "### Create the indexes" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "8731da62", + "metadata": { + "colab": { + "referenced_widgets": [ + "55d642be4afd424dbeddcc98a6313baa", + "4bedc19d901346dbafbeff1d25638562" + ] + }, + "id": "8731da62", + "outputId": "bc5f1134-e829-4357-9caa-f3012cc011be" + }, + "outputs": [], + "source": [ + "vector_store = PGVectorStore.from_params(\n", + " database=database,\n", + " host=host,\n", + " password=password,\n", + " port=port,\n", + " user=user,\n", + " embed_dim=1536,\n", + ")\n", + "\n", + "document_store = PostgresDocumentStore.from_params( \n", + " database=database,\n", + " host=host,\n", + " password=password,\n", + " port=port,\n", + " user=user,\n", + ")\n", + "\n", + "index_store = PostgresIndexStore.from_params(\n", + " database=database,\n", + " host=host,\n", + " password=password,\n", + " port=port,\n", + " user=user,\n", + ")\n", + "\n", + "storage_context = StorageContext.from_defaults(\n", + " docstore=document_store,\n", + " index_store=index_store, \n", + " vector_store=vector_store, \n", + ")\n", + "\n", + "storage_context.docstore.add_documents(nodes)\n", + "\n", + "index = VectorStoreIndex(nodes, storage_context=storage_context)\n", + "\n", + "retriever = index.as_retriever(similarity_top_k=5)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "54ef35ab", + "metadata": {}, + "source": [ + "### Testing\n", + "\n", + "#### Generating a question from a random url" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "c49814dc", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['https://inspection.canada.ca/preventive-controls/sampling-procedures/eng/1518033335104/1528203403149',\n", + " 'https://inspection.canada.ca/eng/1664715510668/1664715511012',\n", + " 'https://inspection.canada.ca/plant-health/potatoes/potato-varieties/norland/eng/1312587385821/1312587385822',\n", + " 'https://inspection.canada.ca/eng/1653077788730/1653077789089',\n", + " 'https://inspection.canada.ca/plant-health/potatoes/references/eng/1326492425237/1326492502093']\n" + ] + } + ], + "source": [ + "query = \"\"\"\n", + " SELECT c.url\n", + " FROM louis_v005.crawl as c\n", + " \"\"\"\n", + "with psycopg.connect(conn_string) as conn:\n", + " with conn.cursor() as cur:\n", + " results = cur.execute(query).fetchall()\n", + " urls = [r[0] for r in results]\n", + "\n", + "urls = [url for url in urls if \"/fra/\" not in url]\n", + "pprint(urls[0:5])\n", + "save_to_pickle(urls, \"urls.pkl\")" + ] + }, + { + "cell_type": "code", + "execution_count": 37, + "id": "0a2bcc07", + "metadata": { + "id": "0a2bcc07" + }, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1/1 [00:04<00:00, 4.77s/it]\n" + ] + } + ], + "source": [ + "urls = load_from_pickle(\"urls.pkl\")\n", + "# random_url = random.choice(urls)\n", + "random_url = urls[0]\n", + "documents = SimpleWebPageReader(html_to_text=True).load_data([random_url])\n", + "assert len(documents)==1\n", + "extractor = QuestionsAnsweredExtractor(questions=1)\n", + "questions = await extractor.aextract(documents)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 38, + "id": "b280db13", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "url https://inspection.canada.ca/preventive-controls/sampling-procedures/eng/1518033335104/1528203403149\n", + "What are the steps and considerations outlined by the Canadian Food Inspection Agency for proper food sampling procedures in order to comply with the Safe Food for Canadians Regulations?\n" + ] + } + ], + "source": [ + "print(\"url\", random_url)\n", + "question = questions[0][\"questions_this_excerpt_can_answer\"].removeprefix(\"Question: \")\n", + "print(question)" + ] + }, + { + "cell_type": "markdown", + "id": "2e173a78", + "metadata": {}, + "source": [ + "#### Checking if querying the index returns the right url" + ] + }, + { + "cell_type": "code", + "execution_count": 39, + "id": "158034e3", + "metadata": {}, + "outputs": [], + "source": [ + "database = \"llamaindex_db_legacy\"\n", + "vector_store = PGVectorStore.from_params(\n", + " database=database,\n", + " host=host,\n", + " password=password,\n", + " port=port,\n", + " user=user,\n", + " embed_dim=1536,\n", + ")\n", + "\n", + "index = VectorStoreIndex.from_vector_store(vector_store=vector_store)\n", + "retriever = index.as_retriever(similarity_top_k=5)" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "id": "772f9ea7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "start.............\n", + "get_agg_embedding_from_queries: 0.12 seconds\n", + "_build_vector_store_query: 0.00 seconds\n", + "_vector_store.query: 1.01 seconds\n", + "_retrieve: 1.13 seconds\n", + "_handle_recursive_retrieval: 0.00 seconds\n" + ] + } + ], + "source": [ + "# import time\n", + "# start_time = time.time()\n", + "nodes = retriever.retrieve(question)\n", + "\n", + "# end_time = time.time()\n", + "# elapsed_time = end_time - start_time\n", + "# print(f\"Elapsed time: {elapsed_time:.2f} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "id": "ec2a6918", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Right: https://inspection.canada.ca/preventive-controls/sampling-procedures/eng/1518033335104/1528203403149\n", + "Wrong: https://inspection.canada.ca/inspection-and-enforcement/guidance-for-food-inspection-activities/sample-collection/as-required-food-sample-collection/eng/1653062252765/1653062253358\n", + "Wrong: https://inspection.canada.ca/food-safety-for-industry/food-safety-rules-for-small-business/eng/1643050798737/1643050800221\n", + "Wrong: https://inspection.canada.ca/food-safety-for-industry/information-for-media/eng/1528746083978/1528746084227\n", + "Wrong: https://inspection.canada.ca/importing-food-plants-or-animals/food-imports/step-by-step-guide/eng/1523979839705/1523979840095\n", + "Wrong: https://inspection.canada.ca/inspection-and-enforcement/guidance-for-food-inspection-activities/sample-collection/eng/1589914459022/1589914459318\n" + ] + } + ], + "source": [ + "found = False\n", + "for i, n in enumerate(nodes):\n", + " if n.metadata[\"url\"] == random_url:\n", + " found = True\n", + " print(f\"Position: {i+1}\", n.metadata[\"title\"])\n", + "\n", + "if not found:\n", + " print(\"Right:\", random_url)\n", + " for n in nodes:\n", + " print(\"Wrong: \", n.metadata[\"url\"])" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/notebooks/pgvector_new.ipynb b/notebooks/pgvector_new.ipynb new file mode 100644 index 0000000..5c16592 --- /dev/null +++ b/notebooks/pgvector_new.ipynb @@ -0,0 +1,603 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "bccd47fc", + "metadata": { + "id": "bccd47fc" + }, + "source": [ + "\"Open" + ] + }, + { + "cell_type": "markdown", + "id": "9602292f", + "metadata": {}, + "source": [ + "# Postgres Vector Store\n", + "\n", + "This notebook shows how we can create a llamaindex in PostgresSQL (PGVector) as opposed to in-memory, from data crawled directly from `inspection.canada.ca`. \n", + "\n", + "From few informal tests on a set of 500 pages, the results were accurate. We will need to conduct formal tests on the whole document set to confirm this.\n", + "\n", + "Queries are also faster: PGVector<500ms vs in-memory>3000ms. \n", + "\n", + "As can been from the indexing process, new individual documents can be added to the index on the go. Similar methods are available to remove documents. This opens the door to CRUD capabilities. The recommendation is to use this method to build a new index from scratch.\n", + "\n", + "**Notes:**\n", + "- These tests are conducted on a local machine, so they don't consider remote db round trip delays.\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d2fc9c18", + "metadata": { + "id": "d2fc9c18" + }, + "outputs": [], + "source": [ + "%pip install -r ../../requirements.txt" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "c2d1c538", + "metadata": { + "id": "c2d1c538" + }, + "outputs": [ + { + "data": { + "text/plain": [ + "True" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import logging\n", + "import sys\n", + "from llama_index.core import StorageContext\n", + "from llama_index.core import VectorStoreIndex\n", + "from llama_index.vector_stores.postgres import PGVectorStore\n", + "from llama_index.embeddings.azure_openai import AzureOpenAIEmbedding\n", + "from llama_index.llms.azure_openai import AzureOpenAI\n", + "from llama_index.core import Settings\n", + "import os\n", + "from dotenv import load_dotenv\n", + "from llama_index.storage.index_store.postgres import PostgresIndexStore\n", + "from llama_index.storage.docstore.postgres import PostgresDocumentStore\n", + "from llama_index.core.node_parser import SentenceSplitter\n", + "from pprint import pprint\n", + "import psycopg\n", + "from llama_index.core.schema import Document\n", + "import pickle\n", + "from sqlalchemy import make_url\n", + "from datetime import datetime\n", + "from llama_index.core.readers.base import BasePydanticReader\n", + "import requests\n", + "from typing import Optional, Callable\n", + "from llama_index.core.bridge.pydantic import PrivateAttr\n", + "from llama_index.readers.web import SimpleWebPageReader\n", + "from bs4 import BeautifulSoup\n", + "from llama_index.core.extractors import QuestionsAnsweredExtractor\n", + "import random\n", + "\n", + "load_dotenv()\n", + "\n", + "# Uncomment to see debug logs\n", + "# logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)\n", + "# logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "7ef96d95", + "metadata": {}, + "outputs": [], + "source": [ + "def save_to_pickle(data, filename):\n", + " with open(filename, \"wb\") as file:\n", + " pickle.dump(data, file)\n", + "\n", + "def load_from_pickle(filename):\n", + " with open(filename, \"rb\") as file:\n", + " return pickle.load(file)" + ] + }, + { + "cell_type": "markdown", + "id": "26c71b6d", + "metadata": { + "id": "26c71b6d" + }, + "source": [ + "### Setup LLM and Embed Model" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "id": "67b86621", + "metadata": { + "id": "67b86621" + }, + "outputs": [], + "source": [ + "llm = AzureOpenAI(\n", + " model=\"gpt-4\",\n", + " deployment_name=\"ailab-llm\",\n", + " api_key=os.getenv(\"API_KEY\"),\n", + " azure_endpoint=os.getenv(\"AZURE_ENDPOINT\"),\n", + " api_version=os.getenv(\"API_VERSION\"),\n", + ")\n", + "\n", + "embed_model = AzureOpenAIEmbedding(\n", + " model=\"text-embedding-ada-002\",\n", + " deployment_name=\"ada\",\n", + " api_key=os.getenv(\"API_KEY\"),\n", + " azure_endpoint=os.getenv(\"AZURE_ENDPOINT\"),\n", + " api_version=os.getenv(\"API_VERSION\"),\n", + ")\n", + "\n", + "Settings.llm = llm\n", + "Settings.embed_model = embed_model" + ] + }, + { + "cell_type": "markdown", + "id": "45551f5d", + "metadata": {}, + "source": [ + "### Creating a sample document collection\n", + "\n", + "#### Get a list of all urls" + ] + }, + { + "cell_type": "code", + "execution_count": 72, + "id": "fb97d6a1", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "['https://inspection.canada.ca/preventive-controls/sampling-procedures/eng/1518033335104/1528203403149',\n", + " 'https://inspection.canada.ca/eng/1664715510668/1664715511012',\n", + " 'https://inspection.canada.ca/plant-health/potatoes/potato-varieties/norland/eng/1312587385821/1312587385822',\n", + " 'https://inspection.canada.ca/controles-preventifs/lutte-antiparasitaire/fra/1511206644150/1528205213795',\n", + " 'https://inspection.canada.ca/eng/1653077788730/1653077789089']\n" + ] + } + ], + "source": [ + "conn_string = (\n", + " f\"dbname={os.getenv('DB_NAME')} \"\n", + " f\"user={os.getenv('DB_USER')} \"\n", + " f\"password={os.getenv('DB_PASSWORD')} \"\n", + " f\"host={os.getenv('DB_HOST')} \"\n", + " f\"port={os.getenv('DB_PORT')}\"\n", + ")\n", + "query = \"\"\"\n", + " SELECT c.url\n", + " FROM louis_v005.crawl as c\n", + " \"\"\"\n", + "with psycopg.connect(conn_string) as conn:\n", + " with conn.cursor() as cur:\n", + " results = cur.execute(query).fetchall()\n", + " urls = [r[0] for r in results]\n", + "\n", + "pprint(urls[0:5])\n", + "save_to_pickle(urls, \"urls.pkl\")\n" + ] + }, + { + "cell_type": "markdown", + "id": "6618cbf5", + "metadata": {}, + "source": [ + "#### Create a sample of nodes" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "f0c8fad3", + "metadata": {}, + "outputs": [], + "source": [ + "class AiLabWebPageReader(SimpleWebPageReader):\n", + " \"\"\"AiLab web page reader.\n", + "\n", + " Reads pages from the web.\n", + "\n", + " Args:\n", + " html_to_text (bool): Whether to convert HTML to text.\n", + " Requires `html2text` package.\n", + " metadata_fn (Optional[Callable[[str], Dict]]): A function that takes in\n", + " a URL and returns a dictionary of metadata.\n", + " Default is None.\n", + " \"\"\"\n", + "\n", + " @classmethod\n", + " def class_name(cls) -> str:\n", + " return \"AiLabWebPageReader\"\n", + " \n", + " def load_data(self, urls: list[str]) -> list[Document]:\n", + " \"\"\"Load data from the input directory.\n", + "\n", + " Args:\n", + " urls (List[str]): List of URLs to scrape.\n", + "\n", + " Returns:\n", + " List[Document]: List of documents.\n", + "\n", + " \"\"\"\n", + " if not isinstance(urls, list):\n", + " raise ValueError(\"urls must be a list of strings.\")\n", + " documents = []\n", + " for url in urls:\n", + " response = requests.get(url, headers=None).text\n", + "\n", + " metadata: Optional[dict] = None\n", + " if self._metadata_fn is not None:\n", + " metadata = self._metadata_fn(url, response)\n", + " \n", + " if self.html_to_text:\n", + " import html2text\n", + " response = html2text.html2text(response)\n", + "\n", + " documents.append(Document(text=response, id_=url, metadata=metadata or {}))\n", + "\n", + " return documents\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2b126c54", + "metadata": {}, + "outputs": [], + "source": [ + "urls = load_from_pickle(\"urls.pkl\")\n", + "nb_pages = 500\n", + "\n", + "def metadata_fn(*args) -> dict:\n", + " url: str = args[0]\n", + " html: str = args[1]\n", + " soup = BeautifulSoup(html, 'html.parser')\n", + " return {\n", + " \"url\": url,\n", + " \"title\": soup.title.string.strip(),\n", + " \"last_crawled\": datetime.now().strftime(\"%Y-%m-%d\"),\n", + " \"lang\": \"fr\" if \"/fra/\" in url else \"en\",\n", + " }\n", + "\n", + "documents = AiLabWebPageReader(html_to_text=True, metadata_fn=metadata_fn).load_data(\n", + " urls[0:nb_pages]\n", + ")\n", + "parser = SentenceSplitter()\n", + "nodes = parser.get_nodes_from_documents(documents)" + ] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "588efbf7", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "500\n", + "2783\n" + ] + } + ], + "source": [ + "pprint(len(documents))\n", + "pprint(len(nodes))" + ] + }, + { + "cell_type": "markdown", + "id": "7bd24f0a", + "metadata": { + "id": "7bd24f0a" + }, + "source": [ + "### Create the Database" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "e6d61e73", + "metadata": { + "id": "e6d61e73" + }, + "outputs": [], + "source": [ + "# connection_string=conn_string\n", + "connection_string = \"postgresql://postgres:testpwd@localhost:5432\"\n", + "db_name = \"llamaindex_db_crawl\"\n", + "\n", + "with psycopg.connect(connection_string) as conn:\n", + " conn.autocommit = True\n", + " with conn.cursor() as cur:\n", + " cur.execute(psycopg.sql.SQL(\"DROP DATABASE IF EXISTS {}\").format(psycopg.sql.Identifier(db_name)))\n", + " cur.execute(psycopg.sql.SQL(\"CREATE DATABASE {}\").format(psycopg.sql.Identifier(db_name)))" + ] + }, + { + "cell_type": "markdown", + "id": "c0232fd1", + "metadata": { + "id": "c0232fd1" + }, + "source": [ + "### Create the indexes" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8731da62", + "metadata": { + "colab": { + "referenced_widgets": [ + "55d642be4afd424dbeddcc98a6313baa", + "4bedc19d901346dbafbeff1d25638562" + ] + }, + "id": "8731da62", + "outputId": "bc5f1134-e829-4357-9caa-f3012cc011be" + }, + "outputs": [], + "source": [ + "url = make_url(connection_string)\n", + "vector_store = PGVectorStore.from_params(\n", + " database=db_name,\n", + " host=url.host,\n", + " password=url.password,\n", + " port=url.port,\n", + " user=url.username,\n", + " embed_dim=1536,\n", + ")\n", + "\n", + "document_store = PostgresDocumentStore.from_params( \n", + " database=db_name,\n", + " host=url.host,\n", + " password=url.password,\n", + " port=url.port,\n", + " user=url.username,\n", + ")\n", + "\n", + "index_store = PostgresIndexStore.from_params(\n", + " database=db_name,\n", + " host=url.host,\n", + " password=url.password,\n", + " port=url.port,\n", + " user=url.username,\n", + ")\n", + "\n", + "storage_context = StorageContext.from_defaults(\n", + " docstore=document_store,\n", + " index_store=index_store, \n", + " vector_store=vector_store, \n", + ")\n", + "\n", + "storage_context.docstore.add_documents(nodes)\n", + "\n", + "index = VectorStoreIndex(nodes, storage_context=storage_context)\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "id": "8ee4473a-094f-4d0a-a825-e1213db07240", + "metadata": { + "id": "8ee4473a-094f-4d0a-a825-e1213db07240" + }, + "source": [ + "### Query the index" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ddf1cd7", + "metadata": {}, + "outputs": [], + "source": [ + "pprint(urls[0:nb_pages])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0a2bcc07", + "metadata": { + "id": "0a2bcc07" + }, + "outputs": [], + "source": [ + "retriever = index.as_retriever(similarity_top_k=5)\n", + "nodes = retriever.retrieve(\"tissus interdits dans la chaine alimentaire\")" + ] + }, + { + "cell_type": "markdown", + "id": "e50f7b57", + "metadata": {}, + "source": [ + "### Testing\n", + "\n", + "#### Generating a question from a random url" + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "id": "dad4fdcd", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "100%|██████████| 1/1 [00:04<00:00, 4.09s/it]\n" + ] + } + ], + "source": [ + "# urls = load_from_pickle(\"urls.pkl\")\n", + "# eng_urls = [url for url in urls if \"/fra/\" not in url]\n", + "# random_url = random.choice(eng_urls)\n", + "random_url = urls[0]\n", + "documents = SimpleWebPageReader(html_to_text=True).load_data([random_url])\n", + "assert len(documents)==1\n", + "extractor = QuestionsAnsweredExtractor(questions=1)\n", + "questions = await extractor.aextract(documents)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "b891ba3a", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "url https://inspection.canada.ca/preventive-controls/sampling-procedures/eng/1518033335104/1528203403149\n", + "What are the steps and considerations for collecting environmental samples for microbial testing in a food production setting according to the Canadian Food Inspection Agency?\n" + ] + } + ], + "source": [ + "print(\"url\", random_url)\n", + "question = questions[0][\"questions_this_excerpt_can_answer\"].removeprefix(\"Question: \")\n", + "print(question)" + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "id": "1077b224", + "metadata": {}, + "outputs": [], + "source": [ + "# connection_string=conn_string\n", + "connection_string = \"postgresql://postgres:testpwd@localhost:5432\"\n", + "db_name = \"llamaindex_db_crawl\"\n", + "url = make_url(connection_string)\n", + "vector_store = PGVectorStore.from_params(\n", + " database=db_name,\n", + " host=url.host,\n", + " password=url.password,\n", + " port=url.port,\n", + " user=url.username,\n", + " embed_dim=1536,\n", + ")\n", + "\n", + "index = VectorStoreIndex.from_vector_store(vector_store=vector_store)\n", + "retriever = index.as_retriever(similarity_top_k=15)" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "id": "d316adbf", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Elapsed time: 0.36 seconds\n" + ] + } + ], + "source": [ + "import time\n", + "start_time = time.time()\n", + "nodes = retriever.retrieve(question)\n", + "end_time = time.time()\n", + "elapsed_time = end_time - start_time\n", + "print(f\"Elapsed time: {elapsed_time:.2f} seconds\")" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "id": "d0416779", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Position: 1 Sampling procedures - Canadian Food Inspection Agency\n", + "Position: 2 Sampling procedures - Canadian Food Inspection Agency\n", + "Position: 3 Sampling procedures - Canadian Food Inspection Agency\n", + "Position: 4 Sampling procedures - Canadian Food Inspection Agency\n", + "Position: 5 Sampling procedures - Canadian Food Inspection Agency\n", + "Position: 7 Sampling procedures - Canadian Food Inspection Agency\n", + "Position: 9 Sampling procedures - Canadian Food Inspection Agency\n", + "Position: 12 Sampling procedures - Canadian Food Inspection Agency\n" + ] + } + ], + "source": [ + "found = False\n", + "for i, n in enumerate(nodes):\n", + " if n.metadata[\"url\"] == random_url:\n", + " found = True\n", + " print(f\"Position: {i+1}\", n.metadata[\"title\"])\n", + "\n", + "if not found:\n", + " print(\"Right:\", random_url)\n", + " for n in nodes:\n", + " print(\"Wrong: \", n.metadata[\"url\"])" + ] + } + ], + "metadata": { + "colab": { + "provenance": [] + }, + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.8" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/requirements.txt b/requirements.txt index 45e89c1..4a0e96c 100644 --- a/requirements.txt +++ b/requirements.txt @@ -2,6 +2,17 @@ jupyterlab notebook asyncpg llama-index -psycopg3 +psycopg SQLAlchemy python-dotenv +openai +azure-storage-blob +llama-index-vector-stores-postgres +llama-index-embeddings-azure-openai +llama-index-vector-stores-postgres +pgvecto_rs[sdk] +llama-index-storage-docstore-postgres +llama-index-storage-index-store-postgres +llama-index-storage-kvstore-postgres +llama-index-readers-database +llama-index-readers-web