From a9088764a12b515ffe3e76bb354cb92c2ce99b66 Mon Sep 17 00:00:00 2001 From: zipcoin Date: Sat, 3 Oct 2026 16:07:14 +0200 Subject: [PATCH] Add zipcoin chat --- apps/zipcoin-chat/app.yaml | 9 +++++++++ apps/zipcoin-chat/logo.png | Bin 0 -> 23820 bytes 2 files changed, 9 insertions(+) create mode 100644 apps/zipcoin-chat/app.yaml create mode 100644 apps/zipcoin-chat/logo.png diff --git a/apps/zipcoin-chat/app.yaml b/apps/zipcoin-chat/app.yaml new file mode 100644 index 0000000..7c4f8c2 --- /dev/null +++ b/apps/zipcoin-chat/app.yaml @@ -0,0 +1,9 @@ +name: "zipcoin chat" +description: "Private AI chat on OpenRouter models with no account and no key to bring: credits come from a zipcoin privacy-pool note and are spent through zkAPI zero-knowledge proofs, so usage can't be tied to a wallet or a person. Short-lived OpenRouter keys per session." +url: "https://chat.zipcoin.cash" +docs: "https://chat.zipcoin.cash/privacy#openrouter" +tags: + - chat + - research +open_source: "https://github.com/zipcoincash/zipcoin-chat" +date_added: "2026-10-03" diff --git a/apps/zipcoin-chat/logo.png b/apps/zipcoin-chat/logo.png new file mode 100644 index 0000000000000000000000000000000000000000..339b441bdaab2a01bb9aad26ba6522a52ea89007 GIT binary patch literal 23820 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ͽQvB-F|v1yD}9ZF5y<#{GjAacr}np#h4>wLj8>!H~gkcFtl0MI3r$a@>8_? zK3Ep#=RaCpbRu^2qB|PU^}BbE;Ryo)?cVA4P$rq1E*RYzXb9f}_TdikbJ-O2!xyvg zPM9#d;GO)j6!-=`;JbMav7V^O@v;UBUOWf%iQk299S^3IOQq)a*aY-VUlC;ps5V9O zkOZJXdj<@^cAuN$+3N^+gWsoX-a}Evs>dF~v}0cJUwvx+*v!8o!<`;!Yq{%m(!ZjW z(=PEuOP@J7&}?@5HpPJL^T^Ti@@=@MeLJ@we6#~)2n%Mwxsa3uH-=k!{pO7nnlCr) zeXR_CG-6SPo8Dxsz41Gql!zzPC%<_U7*|zHV%sO3NhCxW`dYad6S7RQcZXN+h^>2o-|g5&+S1bU1rH}$kuhF5 zhi6|vh1ndF%U81;T>=3zm-dBP^Y6tz@DK}CW!Zt5EA07M;~=ohL^%EdU}l|p1ulgl zU=?A-U^!uxo#1&zy)?L4dXxDi37{m#gGKo`G<1;5du1 zw6w%Vi}zR-C%l$PiE3v1t*N?YVv*SNdV1vvn+wcnvRJYM--3@VPZdr-sWS(lwVVBY z*`U-bKDW@|ba*O%v?3PC@_fS9V>D4f=2z;h9!otgKm)&(W=F-hj?T}|V~OnEv2A(q z#MZ;i%ySI2`3|Gl*x2gtKYqNwwb{2NA`)zFZa#zl%NQmrk=)3=t2p+i-p`EY2NVGn z%VTK?-2D7IfufDMAKoch*%=-lj zG3Kbot@=?6_~30zzK<(V9NW^(MRJ%Tqpq} zQ6O`2a+XJ8@1WLQ&+D=q{6=ArZ%>x3^VZrkWl#w_ZOjpce0g;u>pUMH8EybT*kSbN zbvL)8xNU%N@vZd>G&D5rG3RK44sV=Tli&U{{BlNX`IzH}F(bCfhK2?oX+~dQJ(K_t z7Cb7ki*GVAI=WjY7GDFBbJLpMw#nAnzk3I;HwKR~oSmEN?16Ro zN5<-Hc%mL3T3cIB#Vg-%a5&^%%z!qC%7L%94X?<3=0*jHD<%NThT#?(p?(ueq4oDQ9T@yg5`G<(q#bbJ5Aph2$0+qfL>64)zYCEw_T`p;c? z<Z73bvYBa^;q7J%@3EI?Ob>ob>BplCq zETcQ-3AuopHg9#lK}eNM8{=5HInPm0(%#(*YYU=dqWBm5ql!$2@R(P`6od3FJupz` z!sBRyB(9<#DHrmjo#d+I6D&DVe7vbP;;8p!o-cM0jvvvuQquTJY+q32wtxy!^l^KM zt%ml8=HXsPqN~ps&AElwXrQp81}UfcwN02^a2NP>f5bqT3Uv;*-KQZODzakwYEIId z>zYRTdSg*avn6e?%;z2(Achxv^Si@}!q$PG8TRT9EUa$??rA?nA%9w&u7%T+3QosNLP&XX>}s>tAPNRG@X4Wa}KQXTNF-zICT`gP-74_baZWN)|y1 zTkiLxdXMd5EBH9C&+8bf>M1Y@fS8%aD<=jP+l;F4h70Z&d+$zP6rKNZ0q~L_)M9IY zFNn^5J@naYL%5)zV5YEdgYwd)OT=F(8AKn3immPj3jzMcJ#!>?ypl?5wVDMn?Qcof zKb#)ipZ#K6>ki8vVnmU*lo)%YFmI8qGxJOT&cMQ0vq$Jw z-5oDK6xZ;o)q#K$zwtBFTmMiabWc*<-osBGOoeI>-$$>}hP!1Ac~=FNQ+ z6xY4H7_h~cskR2hzl_db2Mj-c{P=RuwAZevTK}=JF?~w%BvOZbdTah;1P6}0c$dak zf~3rNf9d98)+{=Z2|&xNEB$|S4`z)W@#E*uUV9eV;ox6?69X8^F~g7(i1F;Bq~vK` z`|nYL>iqr7fw{H)_g5F&o`aJUQ1DW6Be*?;oxwVRzOUeIfp~DBj%`NX$BAhKEeG4T zTV1g90K5k<`tkC0>v&*|Yo9I&xyPTWsc*j9cQtf&26lAlqEmm&%{>*Zm{eGJ3}E`t zGy!kQaaBrsL7%X&0{{{s+ljd?AK?ByD;N_K)6m@P2ReeMTwd+ zVnat4mt@EbSVU+SAbP~Bg+)XXHQ5M~0^V^!Nr;#C{=0Xa^kN>gUZp2IJv{;czpTuU zLe6PyY$Qc*0nx!*?c2A{81)?loKSM^+~Go1-JI~=$O1UbyT5QS_g8oKA3s9) zxB(gqcv)Orj7Ibgw5;A29RmA*VS!iV+M}nh+#Cvf{`~o4Y~z770Jl8zf{@g z<9PbpoKbr*^D;+PYXp`ed|yV(~-A^rAbS;DMk@pt*rr z*ZxKK4(qJU%*&YXy*Bs{q&omKwX0YCKYik--M90fk9)Bp02vAt`Wzn6e2->wW5k}g zgl7Vd9m?6bipGu1Cb6B z!ts`cs|#k0qc?Kyv*8FfW51yjo7nbK<2*xkLauqOl}AwXhC2qmNrG(Je2 zkTwA)37r9ikk98ee@1J~h&Qy-<{aFHdCtnS@8V;ko!0#SNOd!{K7RTnm7;!%CJ0C) z2}}{I0{2bsfA92(;TO(x0(gnJKRPMU89+8*8fXU|#c~0(g{r#&?JQ&MELOa9!R6*T ziTU}_@ijmV9Ur6_%R+u_n2`R9(~7JeZr4BhNc#PU59Ld3*8H`kjM5#}*48uEZlYAO zv$OwgM*||3FuIz^L-Z^a2uQ*BCE6a?5~|L#XV0GhlVb`e*ba~w-id>Tpdc6aM=Pds zke>&S0nc;@r+;j(r#ilbk_VJSaJ%+)i8BXTj~$D@H|7{qm5N0ydxl#;Ai$KT`i4H< z49f>K37Z8ilKrVE&m*Ax-WdV~1*dE=ad|L>56}`4BN`EV>gp0xQpli?L*-(< z;PxuahdNzQL?kHa2p1zw&@63XVPW=%5BH7<*btjxbber@E|&ff7heL)%hx&_CP4UY zSw_1^x{KTnH8(e-GzBQ9Rg90bLA=5OYyfIXPiKWN_3O9v0ivL$Yns^E9e~IMX;6YQ zs$#e{O6a>elw$2HLqf`gN)GI;BP8dqJuZRjUJ2+kw<7wjs>*JDM9HAgIapu@by`nf zpHMwOURiAIdQ zfms4xZ-gRQS$Ub5e$;$`7SLOhmD82pm@MK7L}$l6l#6ko{zOI|#=5rM!8Yl?@o-!B z1q#`iUSsZ;+1UqRA7KT7ub`1h@X}Rc7emB=W{S-TaKJe0u-x z_jy<8CY0Ltrl?onI348sO)7*huZtqK?pxaHszKjs)AIFoQRaNi1*OlNtEeb{!5r!= zWT7&X>@Sez!ek?YZ>OzYgY1Vbr=_Lk%8;qW4zjhM+#i}TJfiH9k`O!-^nUc3Po3ZC z(K7v|5()K?T@0%pzW@y(mW@@e{kq-)N&iUJH2eFI=IODHzv0yFy6 z)&^TeaMl7<5G5wO3O_)zgY;J`CLkb?a~Vbu);Y>f|I%7VESE~}spc-|hUPi5F_78I zO?k4NP>Zi;>k#_C#7R~2Yc(4tSbTt+-$&=M>8`ugj?NS47jn|ATkQHG9|cf4M;T-f zYr+JBtc)?@?R7T4vn9(`qE;!-B~7#y3vOF_OTwn~Eq)}mFQ`H)hC@S+v|Fwwd);%0 zO#W4vJ{6t%FEau1amf@4g;Iq~t*8z0{Qe#rPxgx{blbB}IB1W3Wn!OIPPjT2KV{DK zH{z9a%Sex?!Z=CM5wiEAs5_6bqG{Auy?J%zQ=U$0Amj-2EIU* z?+ch;SwBa4+0tGO4owKd#Xt+*nvw2HR2T2-a6EuDnNS}9G=hIkSrwUD-6RTS7}}OG z_9r3CLjkTGF2}8?>g(@?ss+!7{-S$C729wZd(TZzu@jwLT|z(H9380vIng!1N}y*~ ze)&Rzs$dlVJs*s(V?dUg!IR0supl);;S36E`t{Z ziDGlp3x13p{XI=X3v21nM!JF?8)X`IIAQIbcEa(l6xrpta%)(EZEYGv&1Nz{&v(?hh-T?%KK2cIZ0+<|!{nY5ZQgO4{%{{K94T zT@mDDo~hnLr3x;ctE=wob0FD}(3w9zGKG4#7EKN>@TEdma@mlZ;9`5`0Q&7gKN_3art_xV9^7 zH`G#~!CB%8l}C(VQ&mD5RemA*$feh9m-ps;LP!2t3c4hbyC5TkpZQZ{x*wI5002P2 zgzbicIP%cQd&7yBm$$z&_ZEHfN%3=*n}%L1W-yfQDYYFjbR|_0-{6HjfVTUeH3_bZ zP4(Gsa3=&7UOFY+FOiOQL${<8h9_8hmeo(}E6(Ve{FddtacjLoe0{r!pbGAYcpre0 z=jb&7C%nG9nAHTmJm2u3&OC=;H4F^jj@>Ep#odJTZ2b=6YJfpPY(nw0&*8@0t_l~o z)imNsx`MmUjAvvqLe!3wALzK5Q0Y*AF#u*5P;SxsT&?TBj+=yeh8nE=`zgC|QVb-5 zt0kj_JvJT-jaP_e2`h#QSdpt_`CgVD;JfR5oj@aK9N<0SdTlL-Zas_@xWgD*_ZvdN z7xt{8@Bn; z$#$6*AQU{8NEl>ihfPmml-3vJ1S$;MEb{m=O)0~}KfwQn1Oz}r_^Mc zsf_<7MXJKb#|OV!iYNLjNUos5drdaG?j3a*Ce?C>IywS@ z6aYg%naDn>t@9pRPj9u-)YeYU%%lMP1c4wSgc~T2%G^n^jj%AldtZX4QU>_3nk30W zyl(_&L<@iX_^~Y|VMGC@>+i=cf_V%p%6{NJ@qAl*y}c&j9grSmHh?_l5XBczK>;{O zj03NfoNPM6EN|!Oc^sVB z_wRk65T%Bw|VHp+>!yZUWzoW5crmM|(v22AKG8Upzjf@r*Q z)zRpt@Kvw1J#dJa)ec;f>xh@mQBqM!)?@=jnbsQ#{Ok$4MwR7j$S)7EdZ9fa6u7f6 z+52shV%of+)UlFoXF+wUWKMmC01sCs&gH%Sr_<;4CMG5TuQ17RMxf+`4lz(p2CZX` zt~o}-Y8kTrd-Pv$+*FZa-E2(6aM-(=IfEx_bh{nJ;|xqq4mw>{GlHLv6%j`-UCrjW z6_vJ4fi)fV9^m{(ef=OdJD8?A0Zd4)Ud`?IHMasvIl7PcJL&J`>OmR(m#jz5l3kmdkFPRy65yET$PuCNzz<7omd?VGf8Lb< zc@Rzt5FU(H)VX012C^sLS!vze#!<=uuYiXP3LN)93=#cwtL>d#{}papX$~6pLKSV{ z61%Om9s$~`d1ex=!{jN?e!hx>8xDC5gc7Y_ zRJ7r$GoBF!3-!++mJx{a@%s9FJt14Rl@%c$08v&b|1Y8jadrhKZWT;l^_{-2PWna7 z!gO_f(OqkQ(~q3^sZI4OFXdByOT|)WDF@z6vp(uN3 zA2$GR;rNiC`wfR>>1?dHX$9wlU$FL_JeKk0+q@n1* z{H1B55}#+#dPJYfcdVF+2lMj}LyxLrojhajzmR7c4?zN*LahF0O& zr`+7gj89DAa*z-c(Sgd0pB%p5o%C{4Bwm^L(VI8qAaXnXNCB7$V7MdcKK+|#h2e+f z6IEZPr1)nHLh|S3nD{J@3^tZz<5Dch?HPt&oaboc2Fr_yrJ?C@di2 zMe{#JmKU?U>)O%@ccFBBn2RXk_oWg=*hIVpUWUW_A9%$4;>)e9;s@6JK^Q3ES1dzZ zuUIlmssRDQnsHZnawIbiSuX;-b@gr1go@7XhImSVzJ$$YZz)jwx>$kP^1WRBwOpn5 zp_f8)770q3W~2Cg6krE>e8|d*8!Cs#%5W3`b@HX-BX$}X8jiT`NH4PFr9)&9dhsCU zToN+zk@$_!ty%Hk2-FCAZ;HZ}E?NG)7Z&t7{1pN{5q1m|3qrexGr^*rDTbHr+_h_# zuq`k*_i?j?mfoDEavFsdB?5L1+va5HM&5s2xWG|d%D0t@C+6{{esbd%Qy#l8c{UPx zQsKNHkFIp~y<|}>zkb<=`Tzp!Wd8c_I-}<`7x_rFd5*zH*qHX$8$mt*+&S&DHCkS_ zh$b_>CVBoVQJNOyHm!LN^aCu_NSy=SzIDL4-7G1VfK_ziR znJL`hWyClsrr06!RE++Z=e5<4kJp`qkHd)92*NJY(b17$3?sS;;*|i(2n}kuMO1K6 z9F0Ne;WUrg8Z!PaS)m+gah*k$j{IE>(gd|1iH`q&7qk#KV212=;jfY8hSeLHpUYT1ib=g*;O63ZISb)0=+etz{) zJG9NuwgcN@!$pE4sePmpzd$9?kcNm9fK-HD=7X-ukwXr7pSK;ft~r}l5U|tF_W~*G zR21#}_iseqM!hlxZUQ&HmJAMlY ztSJgn+!rov_bdA{JhJZPt^4Y=!Jg&|eq|?#z}D^^&qMp#+xsUfe*b37VHa6>`$reO zIQ+@07S8G;Lf6x$b~HBdI-?%BivFCF3u%TC^Xr!u3`0<~e?pmW-}e8m49aT}{oKR1 z;>%8wAAVm^yXnh?3l|V9P&66?s`PEK;QeerOwR68y!+fab%>+EwaO8e^9R}l$7;dR{(@xsK+EamN&AkpiOAT;6aYZD8l z`KnCLbLxf5rwCrld%EpOO&4}`&R*%(b6i|GRM+k8pK6q1Vxd0%cuZq<(hzc8hL(!5 zGNhjiBIam~r0lf&ej}A9dMDEAnoTnIGQ4 zcG2n8ubqcY3Hw~b%iMe?1iQaVi)$NZ!>^b=JdUh-@n<3$Sar(UeZ>CQOE zx+gT8Dc_61*CkH+AXH%&@4+e%Uq2eH@l4Aj(=-MBk>JVy5{qV$S0O?I(9s8JhnNO8 zOk7_%9c6vags4YabM{q>Hw$Us}@N%^pE&Rl6*o{6NaZuebl<6lcyN`;B$s2I-O5;&Kq&!_V} z=4$tpP@&m?+#oH>2@|g9(58ahk$*16aCOc&?#lf5zKPBy@|$wsDNnByW%;$@-pF-^ zrgd_Uo799 zwU^JLRZcqu?WCK!*(AFkngzkCI7A>L@$)- zY{Z=L$Sws?A~$+JlfudkxedaoBb+oOgrN`vAtJO$7~YUSQO}^<_1otQ3K(>fIHid? z(q()MIc^rXxUgV*zoX1=S0l7%#AgsUWokfhN#(^|FdiTr_^d6gcp-Fi zV2p>-jG#x*31p0nP9QX{?e>P+jeI>5b0w1B9`j1bh{q_%)yC>KEVZ_@^uvSyinRGm`;AZ-Ous=}{);n!^1`nwnyX=7 zULFj!Tlk~q=KH^>20+5evg52*Z15>Qa-i{ZjZy zChS%;|3?H$K_V7{LM5cDS%ee@h-EdgDCjnK=I4uxL5G-?HUIXrr;wq|5eWf84uOsf z72pdoC`e1Tjo}1l3Kid6ephC4Mxo{8r~Le*Br{(Rsq_bNl}G?zApT(JIzZ+DnMTn0 zua54Z(uy9QJEQ<2&fp4A2B<|Ob*aRbN$^I3;NwVO5=s?(`S`oX(Gk3CAdL{P1W{fR z5*XXFxb}?L$}pFA_0<40u?GPGc5wRN73LeQ9A66F34-|zt3>F15;S;}d4q|^il>4q z)oBLKqzF5|@iwgH!OUQ&ipg?ycWOT2bi#vb)8GHp=S1Q^vT-j~f{j;ruW)UVLGOV@ ziSQ{LbF9S&fCpF=&|e!6N*@_9hv$ppB$?c3>#K-!8jw|C{>@A9EsWiNDsxH8zEe)g ztsoE@2rxK=T0os7fd9TO3*O!&>FFpkiNSZ7nb80Jfx6|zKZa-?e}fr>d_!d5oQw1o zj@$5FK_iCN4sF07aT#U|Ji5bOk+nxz^o%<1!-}fv@Wg(xxOM9iq<9f8_LZ2|)r#&G)y*KO^M~FCLchbh6dc7|FDxo zZA*mh73(>2HZD%7Q}J}c52}zE1%LL>D&3^RenlXlpOaH_-8WG8+n^o7KtLM~iXvv2 zVK)hvUwmWXP(b!n<&{SMR&=fbN^2}ULIkffi8oOgDzT?iWE%ukS)@Vb)5^secx zoP1G7cQ@kAgz$}e-<%uyOQQ3~(E7?e(e$cr>=%)kU54Dr2dB%Wh)Tf{DDA2THoB-v z+q-L*@a8~;LO%g{GJZTN3g1V!ZzrDC&s^}EWg@)(8>)$@*7&(bxCEo;Rqi|!XO@gUCx!aA^Rk2qh~8LGeQ z>mIt1Erp(micA%gDX&EiT&|Hj#4|EFx-yj?J{MSN(rtDV9T_qRB2`^?G#b@2wQ4W! z3#Av@7GC|eLoZ!3u-QAk+y)u6)c`bU2bzEO!nK2}uP;-d-v{I9D9Ly>_h&<1)({n1kF1t^4XE{X92a|Idf?LDXeBXYpnKnXXSnz z*5Le-uAZ)A<4k^71vzp+XR??#<;L z@`VR)&AANhIKviV5eIw#AW4|3(757GO7Wh^4Ndx);WDyMOD9wILhyN94fs8W!TTQjs_8a*#eF}#D6kcNha z0bf+0WW)57)2ZqsaLb;1E2pRvNl-AP{4_%(h+iJaPxBCO(~s$ws$9X=<+8kSa;0!Zy}ks3im{2wy=1;ewS8k&EM{^@erN4j%sqJ);G58y zv$M||&d0w!FWhsd`?D_sp&>&-(u^E^P~M`rj5zmRjC#=-p(g*4SJz2X))WK6Pi0uB zx6QQ84M1YclUD1kEtq1bU`eTwJ%E*_weMs8u#(tPVgK2la5g^YGoemrxkTLhE$^|$ zs>T$bH52-%ce|rFWYcifW9%E#ge=<*`^0wkiBl&^Ki_8)k9!0wu#*RG2R$0TpEj?3y&(vSJfS2=9?`qlEB8Fa zCrD*Qcw13Q5xL0pg}FeBBoO`eE3<23j;qhCB`nt*YIX^_FR*~kMn#Lms%`c{LV{>^ zdYK~zTRllEJvIXWd&=YU`w3)^u55F5aw#^SRcZfqb|CAN{bcVu-6c+#pVbTF^yTag@UF+LofXa*>K^%Ybnvd=4CvF-! zal-A(xmj-?^d`#CeGidv%M0@&{1kLgRQv2jTjsqi@yT$ycBiQ%JRlB1{tUbY69C>3 zVX~muC3Ib#zOvX}{8%Zuu^-2PTsIcm>}L8Ud*7p=3j-*=Y##gX<{_uZ+`W6Z(n4yi z04XfOdT~V-F`7^4?mrF!k(kF2kmAY-Pe<*4_Zu1;eTjE3U0a?V6vQi_482rOpXqj} zA4m=r``!8UWA%_0BMJPBL6q4_V2Ryeim(uf*d+lPkcy`OAOm2aRk^rG%|WAZ8Tr&Z zzzMycOV?}ymWIMrep7ibZ^sD^(*JOU*VbAejG61+Z8oJvo4iOm2P+*xG~~@2w#~PV z7Bv>J#jd5(ru0o8hMT004!vf4SFG+6;NdIR568ar*y6VdxU)FNWd|9GlAn#5{Jmc0 zdJkx{zKYr#Yq&Vk@B1th$i6qJLsu|5_mDHZWJ&pK<cFm0&>Nu&3yP?ZY~!OSc%Zb*$Ui z^r`Oej8NvFU<$9cWukKvO7~*$`5+Ux#P}rgH_5{jOskwA^sAhnODI`wGa1zUY@Q5f zr}v9U%F&}^LuMx|QXC<|fw%Tsg`Ylsqft7!pGAL0l||E;tuN@eLW(+YMUgK=ioLs6 zj2=>EMhH5Uj*~u#x=0tyb5;ij7A{=ygM7y@p`1@S$A<%3X0t?IP(LRu$HCLHIEgWx z`i8_~(%HF2iwMguOeT^|B|-6Q7n(n(GZ-VK=X?#)F#OjeY0&vcKwjb*kagB)`29BD^25}zWM zqr;)~t9Z$)b;n!H9g$6OL6wYHl!#Q8Wz$B?6&%`oGI;OH5^u-Xsztk4&1=5DI^>+! z8K!wL=2wKtk?*?l^4@t#FYVn<$3(Nys35O3zP56sp_^XZr~!R5w(!>-_%R z#t8l#uJJP1{x5jv84Ux52l`_S1$|6oldJo+0$2LdM`L*tB*&wl-Lk`32ENTdJHlL2 zi;Y|+Ag4f95axiR3Ad zxjNaI$**TpXxTH9*9%j^o=7jscN|IYo|e87ZD(u~MAqBak0Q4bMQLFMc+94rtIQ2PbLL3t7RMLMpk-U~TB zT(Mpj+%eH{^E~+#r)M_r@_Q2#&;g>2hoS8?c?AjV_~$Q9;v3YD%9sUo`Ko zIREzG6p(Zn>WrYl+!rqfL+Otba(K{Xs?i!5ugIJ(RXsXSoM1J)JIRMc5Ru}p7oFeN z>$P?p0*~!tQt|U&ca?6JX!OR%MIr!-{__nalrUxi9w8+Uf>&2SGYinwX5;=~^pfu+ z-OQ2FWir4BAX-}-#ueRIXznK8aK3Ts0ZvuIQ2+h6BL_}8p$OjGI=XKsE<_x$GxAzF zi{}DO(kA=yt9o^0u_h-giQ~=Iw{OF=9Yo(P!>M2*$PaFyfA0gEQ)Ft4KWu10r*Uc| zUCtxCh5-^it$S58T2TrbmU?gIHYc1sKysTnd4RYdO3CjNn*%3oksp61z$PVv@R>2U z4o&~!7fT8Eqv$lC=|81%^fC#-CQVfMzyq81Eui`up=<=UC$pR6}gfS zr>?!$iQst6>u2%3b;I@pXuu$WKi1T}1U$v;hjzEkM`;AvTTQ%}wmMj5V{QEvNCs9A zDGAIS;)JSDZ8pNlKy7Bacc>UCkr7P7gaCCx>lw@zU1+$(u^o~UEj|5Eww8K`y6`;W zGekrobPL$w>zp~xenFhz{On%H_(C)E-bmfV;%|iRfAjqV-Z_5Uzha=hb)DJm7(G34 z>6n(9qsv1afmMSB57=;E66OBy(5 zQ@dUnuAwcw>s7c&o&M$Qab##?^4EK&KDP8e9%ml07c$haCkcV-c&^GbBb>I!6ULW=i$lQB{kG7q${MlHh8 zFc48){~orBY7}2U;>@#=cEp?gm$oB9lRsNF1XWv?l4e<_U+`L>Bdb>ror$1X|D15| z3i1Ndr+!AUNU&9M)XjCKmy+mGBXQ%Qhqx|63^|9MB+*Z6r}o%P%d1_dZc=1ThP4Nw z+0Wn=YuQrs9+sYU&1+H0>rnfnLx*1XWJ-lCL~zgq5qSXwt1A@~QiL`Ok8>_;BCHA% z0DiVv_HpVwd}2Xj+e9s+wu?gbPg9=mKM|B9>hw+DRphr797k{vy1lD4gmE-^YhM{~ z;B)69)qK{O7|6f|^L_`;v?KY#g4)l^OOOYH`4PDIKExIxT-I`gx2SdN#QVB*_aCh7G z*AZ%L6ckZRQF7_BNsrQlqj?Key(ZskK6_E#sgX{7Gp#A|zNxMF>cws+dJ;FC5}oklzLXMV%1sO1C;x7cLAx^>A5+htrcvbJduN)cjSn(f9&TUjG1Kkkc|6rR zV7vUx=CVtS(?d_2qvrgv`Q0K{Z*?jZZ+90+Yp(XcFx(m5qjH@lTcww3TnW@1 zQHD_^j*a}H(~CAmqSsvHehvBBG->wBlM~M1Rn`J!**+qXYR&J!?l9&wErQ~YD5 zDjfOuqY@(y5F%-f{l+ZbV0k8`cWNn>IWxM>oQQLQq#?S0W*w0L)(<0&5p)OoHQDbb})^FNc#FCpEe2aHRGOr~>jJ6p*L7-JVB07p-Dg%9mtm zJ*}D1N~FtX|0IVphF2R~T0R=RoyYjX(G^{n_y`QtVq|3oGU$7T)AuvawDDLLMn)tD zE5rwZ0fZbEd4Tg#N1;CI=RW>*|$ze=-Nh}M1bpm&sN8YGG%S3 zvd-Dzh#T>d97uU11+DY!kqn{!5}!Q*eF+)3NY+nl%G;mn%B*yt#{V7mMo%J4a1Svm zz-ZzVH6Rq4`BP1ej=ZF}mDhD%RP;xB6#zLQDTm^L5!_G$I`JKAxBD*9=9^;g6R=z1z-}1qSid0aEKgI!}xd$TX0%?-^ znOej-IK@RRd9^6@dT;``?^ggoP+cGp5FdYWs~e*Og)Sek?LOFlHu6xQ8evK!;#%AG z=n!*5M@MzrdtCgTAjc%l)iEn=+zS!i+*{4h$2Wi!*l0a*;;fR(OHF3G*!vitrjbzT zyZb3FMe8guw(MM$^!p}5#}60nm}HRLQo8&ep*fK=xt*!?crHZbn=VzA?=o!H<$Sy zAf*HLgdBSf{fjlVL#mzvOTxmzh*E5>kBU2-m*=S%HmqN>^s33IR;7K9uqmRWf?9nR zyw9SS?^fqWmDJ*d^5$}t__N%XC0!;=YggTsUVKn&p*?FcslBf}ewBqK?;<{s0s$iQ z0$gi^ui)Aj%G)vMJ;+8nm|fGOBBv(Dd2Hg)b#!#}HG#LHWe+=}RdB4_Di=YldA+9| zeabT5)e~KMy1T#P`kyDCSDFk=cPfle!AmXK+PrHn`1%I*#^lhDX*6RG*XwE1@Wzc0 z(O1$HPqgFX%%oMW9xUpzd|TLR;aHmdq{UIVF5W18@&gVTogi~FV;3@&ZH!iA(joz) zM2yPgp4z0}E~mU_!du|6Yb+$j_~e7=BL$GL3qBP7^|Sx_)Vti6n_EdyQgEoU^f(2J zl6}$-;ip{bDVMIk7@ME$4X%0C>;g-XKx{NYcD7F)>s-kDBB#j4&s1jTPOcnw{gi&Bn=rQR>0I|dtU4=P>m74Qah$)K&gNMd zq3>2XS}bEZ6~W1Iad}G9D<#1)>-&upQ(Akv?O5JNcp>foUlM0O1KY@fVir{ zlj+<*-s+S_3se4koh^+z?AH#sObAJYd7EB;^7hc6^qN^-9b2&ph!>8aePV%$in6D> zYphg`|D~u-67&d$(17?myC~^#!ZAO^S{p~4aDWOG6*8ybrz;I6+|X5ZlF|`yX{UlHR?e1c?7phs6A{M@e7= zBZGwO`-KD?4nWMup~MwV5Z-I01>C1^-x(q5mfN2-*BV&v0p!mIBi^bKE=QW`b(5*kp#=H1A? z|32r;AChMYPkxULH0AljcT2}byK`DNg9{fR3no*|G1>gGbYT-D`&(PjMSLM zKJIy8ly3ZRee}$gxr3H29}c`yQkUg_Ref7T=)uyeq8^p|bYaKqrtp#`!*IP5-Z{NK zfR}Y9tACvfYuz{GcIl)mx?*iyX*r6+?FO7;=`52@d5-lxY@wxMVnPX5D1G1 z2@JFXJ3EO}XP3C6i z+x!DFlP{@CCH3-N)w}QBd(Qb49+ldPe@VJCe+>b;VX`o z(H;k@o@EyyE(1zsY7m-fP?a+Cv~Ie8kkHbqM<^ie={ArCXP?Z^3Wt!eCE8qk9bvj8 zW%?@dB=<(Jlo}Vqvoj>v5V9ur!B{eAtvyhMX0=}6^|5S&wyY%7h{1Q=C)?ULP&Isu zTjBsW`pt`KIo=c(m##B6Y*?fOqr!|8MC3%a_1FRht=e5%uNky=#5kxADaQK1cr~^B zYmibw++}fKJ(Go2&$m&Ym-(Q`5S9XsOzm`VZXVAG6$Ddx4Ckwti7H$GIB$V{%sS?$ zPd;|*1!5B%W(5$wuoTu@OAeMm!RzW zxE;9I*K`0kB~0{qAkGg9k0?PWzUswJ1WH1)yM;ELxTW!%%wwK(i@%&l-cF@3wVKLb zUAT-}Z`&84Z{=H=aCg6Qlqen{-r1D{b~~`eK!Gniff79#-Ql_8?A(yKPL9{9;dkps z-7~kfQ|;=|V+N0Ssnh&OzwXXjz7OzwKqUQc5I^IGdGEtzB#}AxUCQp8m2kT>^ABAj zc)0F@&XX^IiU!Gaq-SZK8FUg(U}8Z8_~Pv|SKop}Eh3QL1Wn>Df;ATEsTAL)j?r4; z_)svrK;Wj7l}?9Vo<2kO%p6+*Ah9pn@+TLQH^eI#=oOvuuTee z!w2Sh*aSdq9yUXavP1SiZ3MSbU%@AhiA$DnpfegchtMB?;(FDHQ><|8 zBAqmN_&f#u;!ctTgbc8kzT0YeQqS%5X+^*(MS&my7e#+cQNtlnTENZ&*4GMgV)O8Y zJYF=gGZji6Sa=?*jD1>zBCn{>a1HOr8!~mPQi>s{b`KCYx2`u~BJcU7=R+DO&&UmI zKF@!yd}T_0MWv+Ynj0n@fbb?9xngv|+8z?{F$XgWG&rQ=OHbtt4X@~6`pWB+9_nWw z?|em?hpR6^c%zS(bb%F4UTRu{#yQPb!1TJ$si34~`aSH%S?gK_)h11lCIF^pLJYCK zv#p3|qP829S__NVZO@mP=5pHP0t5)7w||jLr1Bz<q4CH2*EsOY-c)dcvy!5$6aYn;1=exAF)@DJjTnKoo} z%qhPISLnrAmeo^uQO4)(`D`JxY$wt1;&gmY_Xq9k#>jf3mHm#u0AaH{z1P!J`juj$I}P$#VsRNzs=m}^T!e@&T>xCtz17cJv@3Q^R)b@ zW7cfHp^Y3Fje00(_E`L4{MM0T{$uYlLer{{xog%i4UkFw z6os=e(M?F#8=zw$h$K z$1YFN$EjNO8+;dbF4nB*L%}$U-wF>C7=M`sM(rg7Uee?;e=3TSzpgGlzbLw2k@}FD z9J=`nnLQjAhMOt=f+?ijCU#V!TWITq4l&KTw$*uo6Rs_5#Bq~eWfTk(2&Ms1A$@vL zw$0zMtRF>k-9x6kjvDkk3mWMQA*d&up1pd$o8&Z<-Wg+?D@=i$<;`V%mwA4p(RL|i z+hU4MuPn4{Qq@(uVXi4}>hIths|wAOon)&VnGAnWz?v^-PL2`U+nOf^*ZxM0dMPP* z(Kb9QEW6tDGfVjAMXU_p&6h-EPNUV_H&*$Y&J!~H5hZ2iG`XtcO}SDDkjNP-yWpka w2ruOS#)t5a{Qu9G%>M~H{x9&PHPz)OvnS7(4h+6@2g