From 204c3ab8f50d09cad7734f123890c6fcff4c6442 Mon Sep 17 00:00:00 2001 From: Janis Hutz Date: Mon, 8 Sep 2025 13:31:38 +0200 Subject: [PATCH] New site almost complete, still need to add images --- site/assets/code.png | Bin 41299 -> 0 bytes site/build.js | 2 +- site/src/index.html | 26 ++--- site/src/nav.html | 3 +- site/src/projects/accounts/index.html | 49 -------- .../projects/biogascontrollerapp/index.html | 44 ------- site/src/projects/conductorcalc/index.html | 104 ----------------- site/src/projects/index.html | 8 +- .../languageschoolhossegor-booking/index.html | 109 +++++------------- site/src/projects/musicplayer/index.html | 12 +- site/src/projects/qrscanner/index.html | 106 +++-------------- site/src/projects/storagemanager/index.html | 30 ----- site/src/projects/store/index.html | 100 ---------------- 13 files changed, 68 insertions(+), 525 deletions(-) delete mode 100644 site/assets/code.png delete mode 100644 site/src/projects/accounts/index.html delete mode 100644 site/src/projects/conductorcalc/index.html delete mode 100644 site/src/projects/store/index.html diff --git a/site/assets/code.png b/site/assets/code.png deleted file mode 100644 index 6a2f9e371b91a5f7de7555a9f97e31bb04b77243..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 41299 zcma%jWmH{3vhGHLyGwusg1b8e2<{Tx-QAsF!GpWIyL)hVcXtTx@J?p#+<9-^d28K& z`|NdgpWfZoRrP)K)d`W45k-WS0 zrk$=?d{tDL=Xep8iRqz*ZG?pUL5$j`fx&TjpK_QphGkf{q+)&n3}kbF#cx)>FXZg&$XPkyu;AuKuY7Z9 z4tMM1aufFDwf7Cz_xI2ND1tDbZ$9O$oq&D%d!1eVBbyL(D_|1BLP?O9>C5ZQAy-730pq)4kv=vfy!gJ^vpp#WYzae;}_%124wY{b)&DPiqeT^^9gM==q zkjrMSF802HCi2S1^HYu2{oCPFop|m;-MwTk@nf&7n*sWCINucWaCq{aN945VYK*YB zlhScri3iGV%h-C-o6;W!5@$&jjq;p|YOh^^bKhALPPg#8*ATArpQ$M<*Kn^r> zy~9ZBW)p`CZkNv=F-ZuaKrarx?vHcKxHuXO&ABio6d~DT_NZ}WHG9a)l|WWJlQ31| zQk5SR-Ds4+k{MNA9KGZT)?>8(v9nl)quUP8y*PAzYE=>{X%UQvwImC z9vVUSFM#`LU3_y855iwoK z%yz+-4G!3QFRKhyy)!({)_e> zZ3^DJ%OtoN8V|oQX*{x&L|GtjqTEbt4RV+go9nR%-H(|A5u*zf<$B*6w@|YSNpR{) zhBsu0c%HP1k$6bfSDU|dEp>;$rXoW@0KPI;Z>dC?U;v8s;+?0*JajzrzyL4WsEMNv z*VEk{(a9R&(wn%_Cv?EKe-<;Z?XffQsRd^FS53hyQ6@fCM-$UxVsR;#!{H7xJu4XC zJ2KjLGC!Wadwh7j-v#7O>2f`T#?PomBRd}C4IZ*lcD|kA_gCvURc6KKqTSz()^0lEQ_UrKnQ!(TR79#wNj%W zdpNwIKjQR?#Q80#e8RRl&htjMBN7Fw|5T?=@HW%m4GIO4H+@^1;C-$TjXC0ki8a(@ z>i!*^#*cV8UI{<5wCo7^x%7%@!HUk}i$A;f)!T}hQ6GNi34u*l40+pILNix=D1uh2 z#eGBLF6l`xE$|gvn2&Pp)%a$`DJ^iwV`DYm-pI~=>Z@I?G>p(UhVnnW{V>eGru%b53+%Z82wo`jfEgUY#fkcr)7D^;cT^ur0+! zjuD-|>J|l~2o5UG!!?~zA>yLcurRrzrIsZ8>>QxTFou97>5jjt)nIIas*yoBb==`jEDuGKn4Vvhbhp1ry9koFZfcg zDgqTCysmaOED(p1H9;?<&F}5y6nfZD5M^zUjkizD9k=LIKq3r zN6g+hsVnSAL*LrNsACWS$Z5SY&HoY8oQ!GD=26ffFQ$0dwBNg({s?;`!@Z*8o{G}p zeA4oWo|Uhz{9W`1tZrA8biQ&dcmhcmE$p!McX*?TZG@9~>;BWvh%C1hZTajBgh$`- zl*iA$y=0$<15xqO(0Oo&rzOde33;_kYTeabh5~D?dJg+78MNV{rMVy&a2&zA z${xz|yv}zvBRnVak+1wyIpqq2PC^6?eX;^4M2mydNj1T*$*$8f7BBSn)CtJT72gFJdDc?>2vk2!Q#b z`tE8HaS1@Uzt2X>+d#!M9gS0H6)tPi^VP6RI(UeZsc8w=Yk>h;3|rB4AMDJQ2`*Kh ziIM8lGYstNn5Hcr7`dJ4X+oklXz~Hy@EdJ(u1&Wxpd(m)$=>7hGJDsCxSRIWd+KLc zlj&8X>lKeR7FNCeWr#(TGkGlL50GZi?H4OcF_Nb&xW4Cug?^U5Ory4#E|5=^)vS`O zNDnJoi0t1kg^*Cj&yo4j8yWW~_m=5>jtJZnr(kZTw3rUapq%0bc_~dVN3K62!Y#d9 z(-+mfs>81&7c^`k1ygJ?X)5=MbWqHGT)Lj(MfE;c76%^|SV<2n%{R?XV*%#V<@bt4z$C>4UhgXOX(t7ie z25==z&*h^nRkL;EWH%OeQ<3p2%qj)FODKFp!=z}+s>4EWngE+*5*m{~RpKr_fG}oH z%kCM_WJT}KHkElenqh=N0x?IJoKuF7lizqD=GmA^ng4!yW0p_fV~h5p>?PmSrzhDQb;VXmQCQ4@T^&&-}H0G<5Eh#KuiV<#3(J zWboL~Ynp*v>E>o<>I(s;d#G{2e3v?N_a<4c`Htg`X8LD5q z5D~gQS9&;ms{R?Voem(3^BszdFwI9VnAlwsF|!|**Vt*ZFg33y;1n5wA`U=tM?p-V z%RMHINvOBG_~<$2KlVAhw#0Tp!y_Na;(TdrEHJTNx$Y5+uX#%(+3r#Bsq|jZ8mVS| zu{b$z4rc4bbTIR8>V^b#OA;Gh0@1!ZH7GebVY3kh#x=|OFvl9m)=N|pYEsiGLI6re zn3*GKt^2{jG@<=DH`_#RsOPVAwY!q<1TDIKev1R*wK7YpRhLT92rS!~H3D@kdPAjV zU!*IoqUSLNExvwO<6oc@BvMb|o{5)c>dJd8-_|{z!~tmpS6*PXRq=5=Mn{&@C!F+USOL5}s=QWmV7trDVPzWYjUgx zNz938tM{9}&t~S1_OqwI_(Fb1lh4FJAW2HHCv{(b?O2!&=R@|CE{p%rYJLU%<7HPc zzp^?}vu*VJJ+@5u&yw9B^P`4i?v|LkM!B9aBvg>Yw{U)Ydvo!wM_=%lLzMgJnFS*? z;iFffEtye$hDb?X!Cq|LJ_0xTd=F5>*pi$+#4q_}t(;Y-b})<K0_t9uv(z>yL3; zvAf6qbC_^_olDgMel__o43(DAWe)xV6A3okPv4L*)t6quz!k1J~cMN zD_Ckk{N7lihk>o(9ERXUm35rjrdL^yW3-25kPmuVFW@ln&Hw zf_$*gu2@}ucCTouTi`18Y1t^{KnCCHoNW=z>t|{*NnU8iZTW6Q2VJRdJ60ei4SZ%6lW5@QBp*V~>@>1?iQ%e6g#U znYE#r^={t;A#a@@eNChH9KjvtCypDn2fqQ!r4I{O<1-MAot$nQVI5O}1&5ls_oj%t zUvTWeBqdE~>C-WtoZNpMy420kjFHfq4w-e3yY$jlC)0GC`7m+};AY6yx@8_R{${1; z%ZuXw#@o8!sPlpaLUdlc_aBc@vvY3hhSEHE!>bkPqqNeAFjC(Sx%aLBy?yu!gBz6G zmijC8`nI0qd7B1ZIPeCWJ?+Pu{=4r%9|{WZQ@HM?@I`Enj<`)mi+QjdFIUvQJ9XC1 zb$d_*R@BBYMY=AA<8-=JE_EE(CML<#G4N#S<35`E^PT9RjX5;?!)xhF&0vK4e2aZw zcJ=x9q#nnv!Q5tS?~32kK_1U2-SR-%0XuvubWj>`=t6A9hfSS-hN`d-o!rIi@w#)D z?V@0cnYwS6f=m|kEt1LfK9^A1*~zZWepjQOfupy|dxD}BJ{6Z%65(2y;hUC-zoGbgWmeEQH+2+U^|q&4zZqbl;w#|R&Ry0}`SZii@18I!(oa(LNNFn}YQ zdBG-`DP0mRPCdryYKEsAcQ7znw&Rn%;|@34alQ@>7{DOrEg{vi{9(6d^?(HK?Q!9B z9Xi9}C4{`0=*2*k4**d4-n&{7@|1+6)W!0CTK#%?NPM7{-o*3K_jZ|ux3+&{p#nzCEg9SbS__B&WBrY!L#ePgumtNu= zdTv%J#f@dY(z{&Cy zYNZxOx-*)7uVOB2HCo`tt~mk2iIkt3K_hZHSkb`PLtJ{NKwr=RaO`Y&@Z`&NgJrRb zDhj*@#5|)Xl;f;CTP5JMJ@`{GyHBl%;P`n^bsTxCMMe0?J@@2Y2zzoCOnsj7jT4&$ z3ZMZX$Y9oC23?4g2Z{nyddY_#b3wZ^l#^Pwx^{cbvps^}1wcvOheUZ_(>2kMh;~Hc zV-#p@XdxNC&;D*{64`8|B5cR@0SFkBZt8RR@e9md=-{$H>?r+deFMxdjKS(hRy> zT8s+a@Og$qb_-@-DY5ZVjE$%aLJE&Glb@(lfFhuX+XwO%J6GqdSytnPp*@!r0dA7Se|Js^&;!f97A3wM+9^qBg$wsFd0;9bRyK} zcO07LsG0$5ftAGaznEx0zp%S8#Jn z)X(%D`~X~hI+qp-$xIFcXc7)I>DYhpnr7!F#ZdgRT+PmNHCmlZb*wa0(J^?k7 z+xe!jUio>Nv`d9LQOkp=niulr?z*Of-!704@`KNiEzJnuonYI1GPJbULDiaqp!axe z!G*btm@5;tai~sYo%tZxOd%g;^KNglRce&H;{KUf=uh6nYwy6oBa)}h+vIW`0dvbjT}3EQekG z7xx`ytv05HCyI%o*bd7|2*C|VAbc=@)9h`m*o^#|8wYhNCwx}-!3VpK0QedNg^s_@ zfggP}P**kmupq(Kj*fw@L`rM6{Ge}xa++2{qBQyL;mKj^0cqHN=@p44=CY6^hxVl4 zZMaIE9a2{+Ua9rV6epWnIP=A+L|?Kv@4iS&4rjvlysbXn@Yx}(ibLXPt|ufc37rYt zGycp-9P!NQ>kQ~b2DG_BH!W+a$o3tFdnVXklTH*dwXGS)2@eh%|aED^F%Xg`4bQU zAo_)L<(XZ`)mX|cX~X$E@E9wQfZBR{RjR|;PP!J)cMR@Lzb3fsZM$TcjWhytkI_#Q zg2AG8ccAukm8oFDh&s~hqcUmJ8Ao;`^K*2->Ty)f>ETwqC^T!uj#_EVs zF#F1=+sW+VQJl7dlF$dIhPaI@L7WZAE;IU0tQAyZS$?B1&82&CzsY!Nds<2UN288{ zFeY}&QQ#{K?(DJ#Ni2`=z)L<5oQ$*LM#S8}2bPai3LUuyLX z^V;;{dV-i=MR9R9-}Hl7wP4Ayf~gtL{4aiY#C&6p;PJiCRWl_EkMTz7nst_gFWzZY z)X%k4;?TZJ6r7qFve)4VP0pC<7ou#GmePG7|1Rn)Ok0RZjw{4O5HBr^pNdZ!r!8Ri zofmK>wBwmiehTB{A^|8^RBBkuY$Hj4uTk1&#xNY~(RT>bIkcAL!|dR|FB$=a+(-Ww zu4G&aMU8|Uh4WJ)=9^V;$=ar|kLTw@P=M|?ch~v)d9mR0S0q$V!FWx|kttIQvhq<~ zD4^;-%)rHHVVIN*V33H*e{^1t7IOaWg8nUKuQ-A>ln@9bE6f(@yNsxU0G@GV`Q={I zW~U3P0Hf)jsl(SI>g_6v^#V}?w)@)%-C0Kk2wl32mXFUNy~fu8;@uhxFRbZ)(r%B^~efSnjqb73(pAx^TRn7-Lr!M=3TKx?9yu+6&bBCq}RYQI^kBti+9}0P8`ELgf2rSFsXG- za^=mP;CtFO?}Y4*K-h$uP^@`kmkV(uMQ$qiPp(0~ER%N?ZZ&G_)m7Sg?ke}D!6b*) zhDi>ry*XNAH3d~{d7<^sW2p5)T1j9b`pW0E^Kyqr3|tP`co{hj9%(YNCDk?SPvl~y zkar42L%^00;Rn1<=q&yf9YG=*N`KH~j+h@`q9D@dJhJ-s$ zh?4iXz=5vm7hv#Urx>C6jP**&3dz6AW0 zIK-H7jC;75SvI?V`k8=fWaT7}-6!J9(DqWZHJrNpPU^+f0pg>3F8z_%GQ7S2bG`-b zm@YIB>4`?A(JJEd_9NZzSZ_H-9ly;N9_ZSY(SD!)0h4?BI{U&rZvw|Df}82px0_So z!+n$J2imCxFVtgBI7q4HrnmW|fG^4E-;=}OClGJMuCQAghBU03dqp?lLPHBWM%1nk znoA66Th{q&cwgMk65;9_>qt;q*tGbe#r(Re**g37DL=3?HaH)uPo%q&m8v_8L|^R( zsa7rtiq@zrO!9IH;Vd4{Xn8q0X4aL*4WD-1gCBy*P`}kSk<63tBDv+Y`BUkW7rS5yS;m3i)hy*YWX^!I>jN{ z^~G`3YmU`x05LA|NPcpM9C>Z|e1=0xD9Nu7YBmf4F1zUNOXbPsE1^G>(pB+M_VnpV zU%*-R+{jMa@9lKaxo*>6)o&TixoK&aYPLV7YRJpGOK4zf(RG$nm4Ctyu@J&%LKoZmIjLpFsCg`l!)F}=b52p`WLbKMf2b> z4F2K&&{q}DDeU4({hK@hmwNRBs7P2+P{CD>JBkHl4WHPTXrb$11zei~Ut6kj1)tC2 zEKA~CJU&zfF?-dBix|Mul4yRcE+iEd7Je9$ur>Sze62-xy2Mxp1F8r<;PRpOBtrsn zWaX>60fYb`p%`y+C3TbhDGyBC7VW|BM+KE#rw_DToXC)Es);Nxrrp()ku!5pUkBOr zfvkxM?)#XzMf-hn^xbGDeZ_im7hX55!g5NQb>p}9u62*kM`;vDCWpKwduLbR#<~TK zg}zUcBBO)vEPg_--#FoU!)Cj^r%unMjAHw`PadEdIj-kz&h6QAyl z%ZEn$T3E2WTR%`^O;h;C;;z}jL+D;BE%#(rnIJlEq)rRC;#smu&VCLhijl1Je(mPe zw<&s3ha5t6w>_pRv4-_p)CAMfa_1f1^>|omeAj?-8I;pXt6TYVRno^ zvkA%(wa>n0*7PE5>9i3h`zY9O0~0S zP2>EZBDyyh{S-73H8n_~0ZEOPmsPTjtoGmhwqNNln$R}n9A=QUb>b^_3qJ5g10u~= zo{k0^b;|WEC6o8jI1XlxjkoL1IJ0qJnuVgSoQ4*TwuN;|Dq$3vS#e*xty9!&PGjm4 z?w#LE7MO1r_kd=m(4ek&&9*pOQNyRpp9XuN#>! zP^5LWqxGyG@prWQ+<-~40v${ol>ePmDdm4_3vq zmEsUd`S$fCE(%>2Rq*gF;9sSAc=)D&@*rg%M90-jLiD(xNCLWZKG}}^Phw;er&|vB zpA<^qe?KME{_Kms;X~!pTk2;Afi96qi=xUug(Z+YVLi6FcDJ&H;%s`G*{Hd(8HPfj z`g(^is0cYj(QTONDH0pNl`I+X= zmy{MNK{D5S40BgGJ!;9V*Z81%mFyJ;UA4MAiYT}+WVVUZ?W(cr_En3wR`b~=5aR>g5)-Z1;cqfT+L+|woA)|UBiy^gmcwshn>b&&DDojvm?1&dl;|7;y5$KhcAc4cN@p!7qM892txOS z|54U3Y~jMx=@61~{aX$H$Is6lj{{5{%LID@&_K+WyjEe!;$i>Ue&_^*>q*Ubdl&);n*k1 zJMs&P1o;km4gMk5Yf>}I0t8=#rIhEbn3mUzwm-*aA0WT=mT%U;nlgY%g}Pl_P!f{Q zY`9WYej9@iiG)A*;**y3e4pXCUC%o_$YBI;9HZGLnPj7XOgQM6-gwbrV@h&X9r9I!6 z+DRbViaM^L&j8YjGnq+l9j4QcKUxewa&db6@ zhamgK2m-aFk5hKjFeS_WEeqM=a{O_)&>o&vQ>{Z}JP+EO`}UAe`X_Qe7q)M;Ta%43 z_@br&i}&U6*-TMQO zVX$N$CSxYbuDZhlfZk7-0?dwqDk~k%0gg9>?EQg0%ye_^pkI5`$49SfX8#Y9&{n)C z4U@*9Bzn}p%qEOXZM@xv;GI}kBcfNa;@XTf*k$u$wU@MyGXbo%Rd{KthdK($T}e^v z$y!3|+vrYZp)B9c`qrvDzB)@%glgtjnC$NG)Xqsx%mFlj zu4sEzs27#N^&7f9qOh6w$VO_kLm)VibZ03jw$s7h5F&|3d8nNB&g1nijtSsiS&q(b z)VO$(nPnFx=-4}-#=DkhivQ;JI$nVVMim`522x@_BYFt`re`BRZlhr|gaG z$Ub>AE0!IL=t38ERUFWL=0g*X%fn6_90m68+OCC})`hmb_M{|DZmU=5!2p2Vzbn3? zs(#u^2{(d=d_&Acln%$}xFoIObBt~KDB5>%caPN7-_z}o zm|o9@tdwz=V5M)vxv|s{sMO%wFRhF`XjZDg_6?K><&@M!<|yjQ#sDd>p2#)lfg(=jQ7PtuDYSodArM}NJ413R@-mHb%ey1xHLpqfFuy$pBDO0fpA;;)|iP(ggZPkP|?q2hjf$L%LZDxaU&s zf8o<8x0HwQUDvJYtS*59V}pXg5C&ru+dZJUaZ4&qz%Z}i?L$nLfDql>ha_O@7=Vnc zP_(MRCR$3(Z{8DY%o%AK9!o_uf(YOVfXJj+x823Kos@(ojQF*m8J7ZvkPgQ@k|-ny z{Q<~>pIBIpE<9@$T%(evj{yf#G3)lGOqhh0u`#|QtUphV*2%Q@B^vB3^}Ow~nzJ@N zy2sk?$taUmSEZXBuXOnQCil#VD%npvO+YB>&MREOTcl>iE6HVg`&0c{C#+42U0OP+ z`Hro#+<0oAHF1{}V)C@7xz-taRPNPXdlg$Hc@ArH>SyYH$t2GV8MNG7VQwpkMdV^q zZd%#kST@M^{bUA^&}=dp(?q%&B#SO>*(hT-EZ#j&*YFqXb}sCuC;NRaq{|rS1?f%K ztlKbblhGdt+x2LN?sQs=c7`oZChGUXIs)Kk=NG$B}!20TM_dl4Ru` zCK|IW>}Y9C-PDQ=9bbt3xO~JkS$Vg{Sc$P<%Qlm&=mQ%*qGHQ~3gq7raod=T@lwxT zgOkdO<@p*S#^fk%{vbxd?SKPAdmbEG{DM!U`+Sf4e);q_8YLjLV;!sGxPu0nYZcfc zlDFOGksZ}W_T?y%6vdsI^QnA!8ZdFw>06?Z?HfmJkD(D}W4J&m zJfNtas=3>dc78I>cT{$)~uD(|k9PP4kKOM=o1sGW(5-D>|}7 zm*KE=a-2ZGxHx|mhnLS`PvbWyB^5;i2m3hsU`XHx^G%6oNlFfnzKlqcST9IWP+QO| zWm~T&_FvKotCs*1IDU%$XaR6vVV&XympeeSvj5I>4@1i37IPBt-DJiAks~DU%bjq| zNazhxfA()H*YUV9$Yk>HgAoDeaJ@=y*L0OdjN8JC7mL(#yLDEpAi6BZ^Ewq!PTv)g zSeCK>&_SQWyzx@uDiqryKsEl@_Q_TJ0@X==8Q$jQvA$`xa^C)oGQMs1PsZqasJ_}= zDZPTYc*sTi;2*%K$0m@Idk+JMGi-0mSbj0zXBX#@8=3H_-=fbHqX2-uh2&P_&icKs zB@Ah`^>r(vDn9WlBg@%GujEYl#`C8w1aaKuz3sTgcK%yq1WM`pwCTqNil=xE+G$DX zZA8h&Q7_8KzF7+mpH_D&EpD-q1#9gWMYf*_WHfH95qU@Tw9_fzZiq#|Y{W)~ZOL}V3(>nkz9~=om-4Kj(=|BpY?9z!ww>;mrJ)v*{6{S0d zSuEPQit(hnKQqD^P^>s3=gOJcmLNcwmK^Pp(D2Sk@Qe+8B5dZM;Wtk*&P@~jMI2AA zzk%d?XQ)lypK!NZ(rom=4af-~On&OKhK5EV!@N-`nK4X40R9b?S8bCTos(nhl&%D|FMqnvOl zrIxLUyB$P14qX`ut)=q@POh0mdXzFs>|=WTvR>((-pZ}zT~v}>u}!%@A09j8yKXs1 z|3GT+vwZDYFWCGbKxs);I`I>%M}u%>jhA?LYu^&R7t#F+D}QD;I3381MA|wL)bV|b z*^MZMG}u4C0jcbb{nf*e{Wp-+hbnLW1kC@G8Q7^exGwMuoIVb!ZT(S7XQdH5ZNj*D*6}Sw@ieG{S(ETdj9@TaDD?f z@u!V)r$)=uS}Fb8S!%H564Qu?V>Tt%!l758#^Sx6hb(qgP(4P-KVUyjJCw29NUrS~ z3rI3CD1vkRI_`+U^BA?@{}!FG&XIyI04pVX!RmCH%N}k?Yf<QwF^!X9_p}$; zrR=VOmy2d1XGSMGK}5d}Bt?Z;0vFkB&fM|ezt+jXv> zDLz{f;sc?f$=py`qs~P0G~(`dc;z$+Z`$G)*yc_$P!eSLoSS=}2tugYzq|_+_}N3f zSq};p<6zQby>$zsuCC@k@V|PxG%O4K+n%zO#bvIzL}nmZfzZdgQ|LUl57XaE~~QtwC{q)t#&nv82HC6Ww21%aSdVwy+=_j;@9XpPzZ**^(!FNj^&YDw*ZVZNi36d3YNz{%|d)&KY{wK{c zl3I$=TpF!y8s?4+1fUy|vubfYyb^p4dQ%>78gtIEf;d87@wMf#OC6MYh9t?7J>g7~ z%#sFYSW@c^7&8jw6!)m54VV+_Yny=1@Vaa#2A`0uy!A1#%K$y|!6Ovzf&~{j0lt zpl;1z9?yY759w?J8P>1w4|Q$u|E-C&@O|k2Qc5jWK@DWVlkvnf ze4>+XC3!26$)5oxw17{b{)y=&e|WsUh+o5k$u>5_#LdLtX;TS?W<$tkqOjwO%kPnZ zCz+}PgdJll`1?YPbLdZALI&Cst_Qqcr_5?zdnyt(K#U{gp-LC&|Hz%m>U1nHK0tDw zl4_f3>MCS)^7ej#g=RRZ@(lx-!)-VC`P%rt^^~gJIhL4$g$6MTxLww) zALp4T7}?0QW9di3WVpK1FUocdw(D8gB~s`4i46sH@L{kekPI2S)g zmc7@wV`DSY%$WOQc;ngnu+@jx_JwphOIdrl^Kx&(FlFbt4EyzB<#oj!*BQ_O+BJ!BGls!;VdEp zORv9p5MaJ6dpSz|5#A%fV>6PMU57$@q>V$4VITrN z>OkAg!y(Yz*B`V$lMey^P)>u+FqZMZB!oM}vpsSDXnN}}v_t);o-ji8zlDVivwvMR zio0$^s@w#h=UUns_r6cu?H_x7?iISvQX$19y=J@y+zde0wHl%3N#SjdFzuorKGX1Vzb6kaeBZTR zAvJa%7clNsHrmc(B*5+J?ImR_Rm)w-IK(yTmwM(Ey*RFLi8b!PV;*`&qI1lsVw%3n zEElG<$(U$1CA_u!OZ)FEH^JUM)v@E_NVSxw3Kmt`#vm{Cl`p{b+e-!Trhe?Rod4pq z%%pyY)G*87Znd1%QSJ9E=KQoX6^ql;`s*KbwUz-h6=*2awARv)%x56h%!DN=7!`8p zS}U?ruJ1#wf}|y9x?@s{nM`jetTqoBg@$C`L6jk-6VTHv#|(p*(Y@SQ3YPm%c*EvgcCu%~jC)cLNG$ zT*hl3Z8uXUB9`fClA&p)zFX9QO1W5a-agufHNr8*VQP-4h@M)A{0hca8M1lgWK{>% z=!es%uDAEElh`k>Blq;`T}7i~Pc^18hbQ6_!I)|8?-s)TRwRJ`P*Y3N_8 zgWsW_B|!+%`wlxc`U3y!P834zcV1ZoAFI`p1Mzon`*nH+2rUjqn%{n~SrA#5Zr+AF zM~33@qo-)B_kH1_MA3wlzXa5-vKwQP9qcn-b8r3(v|2BdCZN~qdWBx^-4HQdt5Xun zVhlL6+<6m55H&gW?Y-nxA}O4Q-O;H>%hgiX&w-NFfX~E9$`6D+$Dr=JEse~-!q@>(xu+ETLx+yRV+OkAAU>)3E+(O z+a+p>fQ4N$RZfR$Rruirz_892+&>p1u;B zcb0=a0>ZG)Xls7M6*9cI@ko93vS4=>9TSy99&-FcoFOovj{)7Yorv4t6nh$U@p;^Ba^$GQCQoGH~-+@T#(W-i$2KoVGw6r;cwHhWwh3v+|E+^^`szl9cU(n zSFx~SBAJPK5lqZSD#%xkTe!LxG+?mv8#7K4uO84fkJbyIp{PsE+x z6k4q@oN9wVes|}z`#H_b1|(b9tc2N!SQX}zYAB}}cnEudR17^v!j`*Xf@9IV?=K#K z;|=rbcjTC-_bF}6%nZA;eb-5gf1Q!Ynk)4tcr27w(3bSQC&y$~llw}TJ0EPAi!t3= zvq9+fZ4^el3EW^au3oLM6qm36Bs=k0HoykzW%N|Gp%4WTYSysHUNhm^4zZd$czmQF zrOIZP$utJn`E993TYWmbB8n+>C|j^)1I{YztR2kN_b;gMz`*fmSx{Q2AW1I zagx02p9cDp(wh7b`?Hw(`!GucQgPAGq=o_@#Of9xFr`k$=Ocp%>`!|o?iXN* z{dY|B5}kP60-;vTod*5&U;#`Emm*7qTle1!?0K9`yvb&gyDTg*y43=?c-O)|mX_Oz zoQs@g#NwBls0VrXPZK+$p3hP;Cv?HEL2en(DWJ6UM0Y?eCXZr8`3%Rebq0QMLgPNT zo|>GOu_wuA^LURf)tUPQwZe1>S3k2Q_B$J#-p}TNEP`k0dEnpZRB=cPK3lXaOR@E_ zkMH7o;4wq{Y~ zq4&3!5EOvA@LZT}K}jv>sVGqJt6p+x34rcs|OiSG?LnuV;MqSSt(>|4k%jM)ufmpA|i z+;oJ zCiH%8HnqTW0fonZ{x875aA#0YQ?H19*%ZvL+9PD1=jc73iuKD{ z7C2!06G0<$%bxP_u-lX1GeY=Mr)l6ZKlC*M*=6yWJ}AhB#Mo;+u?jup(}uxYfz-b$ zq)fIEDfpcp0{5{SnTmikPThW&6pAF@hGuS_Dj1{UYBOLz86sO4=GSP{M>ZAT*_Uu) zO`sC>>G$+6(L<{iSWriIp@*R4G@A%f0xo#Y`fB5IdIR}_kF^k2)xXrOF9lu^(zjQ4 z6>>Qx)~7Dqf5Xxw;{P523I#4%ZiwdmjJerHOUCV5&2Z@u>-V5Yg9YB~nA`IY>}M=e zlyv1SsA}^2&}wh>qIn5BoUParte2uKa*_t7T|Oq50Y$@YYt1#Aq+5h+TBTJM{)EVH zw3#VB()>3{lig8QRyb6DEnWoizhK>E!eW?VvjeR5?;0yRc0T6x&q3ya7u)^D(rX0x zo;xHCR$yRVjt9)#MpkP*geu6f0Z1!%cm>y9WK~}K=X@Ox{U#|f;P{1S%eX~^WF4`8 zPudzb=*0XRkx3eykV-@Z9T$c3drG;VM9bv+k=Q!?hy=^!%>{)o#!1;ZnNlc|3hDIJ zxLb*mH_w+6mLq~$4Ubb!=V3p6323%#MFZu(3Xhi5DqjzF(>zXAI*{MS>jPmMLw8}B z8zQb_g*l8pR0pQt--toxl*&qK{DT_Q-M<^x5H#*)Jpzf$2Et49bcSvpPoA98;|ZX; zdzXm8fkRE`!jmP|(D^SHTd?kyc$LRW)`VrFuGebO&;-8YcRn;^G+hlE`LMKYGU~Bc z^Ajd{yw?|Dr7mPuP%WTkL=iNAtaWz@6!{M+!Skq72)m2}<(b25o)RCPErTlNmY~Hw zO*Ku|d8D9miD5mq_(YM7v^_34b@X%bxVu`mD?6;NP~-%AzZA70+p2ScfHZEGlY2m- zP{V!$CCT48;*tDYZd7k&;}X%Ob+~uFI{0%^P^iI>DT)T9<7)jse7$8*T+y~Q+DMS# z!Gc3@ch}%faQEQuEaqfpSCYW0lxOwmwU0MK=s0g?b`!y>qjBH%{M^X}ZeoQVg_TY<=r+N$4!GQJ1`u~y zj;Kvu7x2UcMWPQiN6QJuEg0}(yz#Q3(7(2~8WJ5s!zh@l2ALY4qnHgcB;bmA2PQkQ zjWhm^5IK#m_GGw?lxBs2Cf?XRTaTOAoy%M1vx!gnM9Xkj!d@xCuK9$HO9-A?0>pm9 zL{uh{kG*EHiZ7>&5Zc)Ge`i)n*MCq&sQ=3m0x#=^(tpW7+cW=vOM3s95$)~Palo&4 zvYcjXVFc55RyLZN(M;qWQ^>IVHIB z)zIBgOX=(9ACB_#B7qFFpg+8{?=7%@V!hvfx9=oCq?{VhKxzTPuWvYsz|MOq2glRFaEkS7&mwiY==%{d&Aye7r)yDB@r< zDZgrJ!_Fb*-yjI}_Ge2E@>K>m1Zxdbm;Q*h57G6KOVMX?J9gFGBr4(SYzr1+on7F! z^#6Iva7d+7SVyU{4ZgAskN}~>Rh=wmMU|^nZPkAU>wSzrS=`M2BeP;hBc=wULXftx~zE zj@l(-Mg7*)}|8m-Nt?HuweuRoEcII6YO8xIa89MHZ{QZlB zP4++OdyCb7A|B@jT=?9q$(pZ>?MGJI*{r~Xe3Mn5>=i=7L(Yt`KhF>Kv7MBUkI!>O zJdRB64dx1}90&8==rkkF`jDwUPHoG2EK5z>Xg%iDc6yG%U0=#uEVd$zi8w&1+CXJ#F4#fag@iCg!(fx{VsU`?{m<`T z^Rfoic*|B5$WKvN>4wV~ItUJPHMiC- zuZ%U?62oKv#Qh2NCzut^Uxph#f(Ue;E`L(*JQ=5_h!X%ZO0T{Cf{zX zdLaOWWTmj=nu%9viF(xjKE{``$e=F@{m-s)ej`n-S1YtLdg>hOrg)43j!2;2$LWlQ zN`F_#{B&h|dwaVTs_)$DI%{#sDm3Bdqz{~9z0o~o`*LmaLrs0s# z26*hF5Tokjzalwl{~afjKOCJa2&K5D`VDR1|6Pj_a)@W9flFR!Bl*88`p%7Yq?tPG z%Hvp>IzYI$_s_;DSH#`jebG;qQqhhb_~xWNIx63XwtqCfWrzK*9X8&0ptCXFhwPeN z{(%Xb7L#}cv5$50xwcsU{?8{da1;wI;&WW#sXVRzyuW(n_JK=e^$#Ef9_rBeh&LJL zHZn`yZbD?|7MSH;J!wQgmYZ)X;v5g#G|E;nn-JSKj9z40=V4Rf%P8q zI}4WNv?fARs!N__-w{(``-wEJJwIhj*Q;*iF(DW5&i2Ra2t!Mj(iORc)o8$?BI3ryJYk5vDGPaF~ucTsE8( zZD@hU*1Vs=QrJ0<#e83n12r#5n#OMmc=xh`PH52n#JQ1pxXz6YyM_o3ek@(pMh^Np z$SE5}1g29WE2m*CyLc}~;gsuE!aK_Ib29`e0uVOEK2Dwqr6%I7>-=ZCJL~!y{?p9bn zjvNM{|IWLUUVe0{)Ui(ZmfK^ogC9ca71?PSAGA47cYhy6ymvzzD)?aDoG=DNj zL{};;xOus={7%^?w^{abiuawFHUI#(QL13;&i1LdZ!F#siYa|`OpH6-O&#fgqss|F z{svpL>1S72>!eCUVYL(z@pWe7NVC-M5BR^PPulV@E`t?w#^bVw3cr2z8hC=1aN>JM zhHyYpeOZi{iIY>sx=}pku@}|^A4B#rn!aM;50Q-BIxFY(JdJ}E@P%P}8cKvzM`N6$ zcDRJWye%c4)iv>h$NPAnf%lpQY!=81*&~x5TYHdm^}lj#?GqJd10S4e}zY zhw|56oWDL;%5i@SetAGH*x{!XygA873Gt}zs!&#Wc^=F4>5CHgKb&Z9G340&J#IAS zdpLs$0L%}IP&48K-x-YQU3K>$NVOu#aPsl^l~I=0JA)92-XA_h)b`nWp% ze2y*}Drr{D+G}{P&5s^_ATcW%Ce&X{bAo)lbHL=8uG=WBRzA~^;`Gpkj~p6urcNeP zBa9ex*K4NY-IOZcMHE^mx&}YJ{LzVYlbR>v+g@R{ZH971tB0XOYV|QI1h8*USpA06 zU2jkQvIURLKTUV#z|&g1xq#ObGp-LuF5_9YDp{8aD3ugi>O5~c)Ix60Za#tNoT^Nu z)8`}o`iYJKctrMshXsd<;{~>5M@+CPjcmM1GMhE~Sc+mx$DP(}wYtKl3MectVqm~l z;Ayz{q;z7xug=EH#%^h>uV2>Bam4!cknzq}YZ;Nw9Bc#R`*?zo4GH*3xO(fy%-N9z zr`cq&<#3UH$Sc=PJH5cyUU9w8uc~(LxzkJuQhwgHTPc%$_Fyy}EtB-|>dX_QJmi^X zrxWZ|*HW(eDW_07U>dU8`ODGTq!!J8GvLEg4K`V;>< zQxow*6;spi-lk`SL=5pSDh9_dqbtnP6W$=5?FZ$cmTd$^i#mBa63Q>LO9YbdeM~{S zhqVkunifn~+&#M6X4Wmvd?SmxqoGb9yCN!QaM%+j*H3mN$; zyZpxuSH1ygu&|0wPH(Ia9fmcT)k1x6bSL_)=rA|tt{t>2XQNtw{Zg^V(@q-7#s4}) zb(Nc}o}mIULVNNGr_Tfh=vund(|*bt$%|abmwsd1y-H_<>#=*hI+RtN%58L0udmkZ z#{&3IuT}MdU;yWj+k2e~oz?zNJCxb1e(}jy*5pBUlB-RINjppVNPuoyH9-PL0UsYl zOz6tNdq0vsJ2UU?FSsq^s?&L4h@k<>uKHTO2VFHH?Y48O$?d6Sk>OqkyOHou8$3Vs zk0nnjDANw=-dMoljtD;dO$DUimuD`WU$;{7_K4*Iz~}H;7z3Lj8w*Wr`(Fr_g~#(! z1Z(M^7m(Y|OHmSDuAMZUOfD{@2f{rbECs#Jwu!XyZCwT)V%8brQo(K=Tfh55dweo; z%b>gi?;mS?R0#k%T>8r&(Fyw@gO|24Z-sjAVd8<5Gt1X(fRrOv6?EV8^Idj*2tbR- zL$w}AWF}3%FlAnB$~1iF6U1ywI0gX#m2Wzct$`X&Kb94P%Q>{OUD0Fj$v`cAOu+Wr z)Y)D>foE!i^!$w(CCHs<9DX;9FAx)e(GtXF|vV_8!^5M9se6&;jD|uo0^npY4Ly*WJA8(~mb4)^0lTLrZL!fA$EI zn$r65m0L6LK8(@lKG>jnOQ$}%o_P!?xL=`wd~P$rNr{s4){u%XDju#Zo$vRmqvr=) zbO6;v7AGGD*5Kn_fC#V2Z~|&~V^3-BeHzOlk2!jilLjK7H6K~00xcFsFMfmo#~U1< zN81z6lJZD3psxw&(4Uj6Nycjlh>C#H5gJadbsLB+MT`O%WmH{XpL{}*lb1kqhgAGt z!x!dIUGGh==Cm89zQP!QDXwL{48f{0rtef=zamDY9c%kk5OH?m#d^o}?T_>9I=m>P zxfWglPY=QlQxAx6`(QAEr3LT@WCkgOUpq2ecSrBK={g)U_TY^m_X>DeRS2TqAz?c$ zM|Ih6vuft$i0ubdHY(XR5jss0NMD?W_)ayH+vyjlHhg0Z1pEw$cdDym`nFxcUOyDY zwglhR7rt|r;RSJ&AzWnPs~uXro+Cf~H=d>UDY z7ik@i1Tg4uzg2pU^I(m5FTE6xJ!Y8Xqqlo5A4Neqy%amE1tI{`WUbeOZYD-!SVq?6 zY5As1?_|QJ%{u0Bhn#4}9q_&u!-5k>B3NO5S`p*Aca8+Bxlu3yEv|NspH7esr!-`{ zoOfA;=2x(--UyM+)n9+yU7&afHF>Rde)2Uw+Agclep&U=XHJ)+Q}Zi+K7bVwG0C@m z+@Vx9Yj&oJF*$jtyx3E3`V#c{xC`W0+w)b;Tn202!WP$p;iUe%({mHf6al4?l`|WF z>jCERk!Sf#p4bi#Bf6gz#kn}@E0ZJu7m)FhQ>Tl==d-cJXHvi~?l?{xi9w7TMzh`q zU!AOY5f=DCVE{a80h02)XjY{L!Wss0XBjcBvP`Oahm1JDF5A<%Ky zT%R*|U%)G3#hl{bXY_&dt@k5~R&dQa#>eWdH~yY^HSdR*nDEm#m8S4x(|pY6QOZd# zSTMn}rvw<|nM`!=>EfW?Fy|YntIW|FmusVMHyDUKLc;cm`*K%uunZ>vKKiBO zY<46HF;+e2$LDk1{-UeElhqPH-6;+AjNnwV48(cHK+)slI+qld*Ya~lXW!R1n|=(~ zvb*-T!+k9Ape9tnysM2|em9~)yK5*b`#f9AYO8%2HXcAjFH1x~U)z56Lshts$BMF> zwU^VITjNe$Q9;%HMDrYo%>D#4q*I~>3F?qVK}G@iquTe2FNY;)c)Q*~#M0S%3z;Y6 zrxIw{)&$#o-^&YCXL^mMbMZ{HsoG9H*$;@-!iS&Y5V_lt9Uqwmoy+Zp_BGc?0)FDq zMv2Q&`lAb(DQBfczfVh=tPk75XYN<$n)Ig0K0P|=1?!2qBs>+u+-lXk^iFLJwP%vs z8*XBEqes6VJ`IK}rr_w=f*npg#hgM*%}|P()uw*48qbrt0RY4CxR-9s-dlXPVO6gk zHv8qJM1D%M2lvl(L7Hq?KU5KIh21;3@5}|=x3AO*qOL0Q*b(Wc!eUH_gT(1Vv$_&7 zTI0e_(Xu@xPxjwM{^nUaA>MjDx4`uoYh`DVCjP11<4q1sOXp{}OlZ_IREbEh9JCu0 zzd7FWpFdI(JMTe~Qt)Wus_j~IKTMCTlCH9|6=-WE-sxK;c=`>buo1a0?>3FpanM23E z$r6XD$)z$*Yej_$zGQ2wS~<_$p*T2e_1(*kDj))oASIaS2{XBu6sX$y9SElTgv5=h zZ525na8$$PtLm2mmrL;sj*d%OglSNH=`pD2JUt@#iu+i*^apLZwr$BfevwfZhH88Nsyk|q?fBPN_03ip6a=@1nZ zG7`p#J696|+=h2Uh)N|9&YIwc^iXR{^NPzlNx}7Go_=fEQJB z1B1_MXU51YoVeYjLN+h_Zr@O!OX`vzHVS>|4%1$Lt+`2AP7C)5W}PzchU)*`1|bxb z$63Pg4rnrdr0a;+yzml;fMWhI{*3DQ=^mPjF8@^bD{Pe~Wm3D@{`!?JdR0?UdDiQ_d)VefYja$Sj( z%pI&Vn95-RLXStBVjqY=q_CYF%WL6jghY7Qn2YQk!>f6GPk&?WwS4>`f0qYk zl16vCt@A1oj-$=gPP}`u{t7Q6O90*|05Sg7$YH8ug0bY0?zf?&FLZBq3*rM=_@Bi2 zK;mCLFvwRQ=57@C9|q9<`2L0}{K%O0-`g#w^1lei|CVMS-w_S)}^eoo8pY{WvIM2n#f2pZ|H+T~yy?Zq*nRj)}#&0=Igm+EuJ^n^r*SnYgBGL0( zsp9@eA2`KMkc(*MpehjZxg4rt6lOd^|Agu*g)SFk*(|CUBvorH>Q=&hKS`@9DF%@ZNqlI#(h|U(iU#~ zm9d5KY9HAW>pUjMO#9xA`3|jZB{xQBVnWU+mvV$+X`U!|J(`Ku4j|@irf`jry*u94 zxV(xY-3B9SxoCep!QPD_13W}VGHv_MXXe>?uYoGTOFT_ ze+S)8_&(~Koqz4ioKd2$G`f_$08s^Ud~i8(ELW&htViUTHgpK{)itY|SsJS-5-V!X z>z-eARO|C&=0EG>HhxSkH*?~RvZNd_IF^9RZJplq3qygo?4i|%C5lRPjNcc;8QZpG zXus09V5SEEIE{`Tcf2UBBm?H99XsA~gzVlqe!ev>7p=_lRu^u)j|XRB6hkp#Qpqdd zyxHDLOY*Zjeyq6sy3$a-{s>x&X~c#EpvF4gRa!|)v-TBEe8*Cx7`iZ9(6I)@u!}kI z#`&rYjJnfJGcJa{QXj8G^63)AzBg7h>Y0{#x{FC|d^LR4IJhsof8xBdIszNCuykbWGX$rf{tv*z_qxw2>(eF zkxAPET;8I_z~V2}PX|Ul$ShvkyV*)8&*PanSwU!2GFQicAiDm|yMlq~(oB>bVPyjV zo1CJEtJ0PX!b9Hd)`2v_{I-(?x13~@ z5!2a2#%Hj+QwQv2X#U1Rhej{fS`F$>0Ubthm5Xi8iM+^ zvbm!HcHcr_#4Xp?Uc*9n2RROBTG+zkZu4;MVbD5HUV!fq^y- zIy8m~rh~K=_h@CQs?5u=x}Z-obM&{T?z=gh9a*MfwXBkSvWA*4?)URqS3x20BN3Wpd_;8z?m41Iv zGa8)5&obMv948WHln9S#)=8t`!*H@>_L{(Xdb08+;5Xl`0Gq-lk4R(yK$J4V1@o5} zNJ(c&q1QjNeRmyo6Qq&y{5jN1E~fl|)-D+-%) zXUL^&=7sV%Hq!Dr@~!HOCa-|Y0#zT56z+?Q12Hj5y|rh0pNW%GDMea^{dS+Beq_}4 zr_0$rMr5G7vRDkf=b2rEzL!qhV|l;6C3kJ0ru`6B=6!PVK!$FnXN_f>-OrZl)m&bj z2okv6Vuqbzzx&e(?#6I#%Y01)@?PyroYUK1bi}%Tu#EbkcUO_qg9&Lio z+88_5FLqh)B^hIy;679`uwcD;i+o=TYlrnL5L!potqH)78%G*}G4X&n|V| z`Pt$jzNAw)di2^Wc2b>6@~v$CvY77$iz}*r!7Vk{n8NtfT?G(70tZv`q0FVQ$aar=Uq*$r%-g8GojZZ2uK42lfV1(T>k$ z6dre<(t?Bzy3sun%)H+;b1O3&IH)SXPFy~LY`_gu3?C|6r5UyQW$3!nHN8NamYD&) zm$H_&UphW#&r@3C_W($L<`+f9pA|b}pAwO~X4S6N)!AQJ-=TMZ(F0x)fqsQlE4u^d zY+q*vn4Sl`L~KMhw#bD1iQl#lYWV%`$+|c0e<|R-IkjsRB$txM9*(z+IY!K1`lDFf0(bHzWK%Bpj1CKn}0wy45rlh6@TIbE& z49j8$n^PS#4FVt;O&mRUU#Uc03u$99q^L5y7P$TB+t4*nWm_%o`2hAms4%zFH@U*J z*r-QA?WUZiPORa}lsB9jkyQf#_H*3J_#4F;ssa9*c{H@nmoaCxA3BPOmuVEr?UbA$ z7o9y^)Mr<_s3-yU(N{>2Hwsd6^zZQ|u`-)-^9+8r-@Px!I=DWYsO9ou`U5@u^ ztjkL|YUqYZUZE+f&a~)r49`~e;j$Kek>K~6#T6jI`1MK7W9n=BPWy|&xdSGRK@0Ud z9;Vj`ZySRjsT>gLV=zDOuU5HoQ3&qsyX)0cEz=hbXggvFN~WlN4&{Y|s@Cl74R$t;~krD7JzV^Mb5` z!*pJ}!1JIN%3vMiQ3XCboO~1CnY$sdSZ&HmG|00O5<;7yvYnfPM5>{P#>?>HaAhqn zAefN;vM4QA4BXiOIs;hTV6*N1lcugpwiSVtIDsb$5}`p}q!<}qcN zbRU8gU7bviljJ{ZQO}3=Mmi*Y_)O9g4jJ*X+}aEVUwD6xl%;D{RkQC7%kOcwVYAy5 z+^AM#UTS+5-q4_nHZ{cq(^hl|)qqIeA74DNApks?&GIx7JU(8aE)zM;kM%c-pi3zI zDhAt@Q%qL`9|$Wuh!MuQ`+FYYtf{JNCNSsv18FW)@-;Hr!A?!O9i5to4L3ADA!rMX z`9X^+L`8LM&5vNZdqDyYc@!7dVt0knpcfJmpcU8*Jov&; zc~wigJoL7qzzQ`xB&Ap+-{)i3C(<_zEQ!)fX&85^9*Lk-nRaL}25}VPTDbmR4G%Dh zIoxI$)4LBHD}V?f9{9qH#;+#bpfb$+EX?)d;a&5&KPRZ+vwZa8QbKW2en1g<6Br5s zqa2YJm^=`GFO>nK{tmI$kO1=tJzEwLN&o;@PV@7g0wxlZ#hRHsyQXzhA|JyRVzSz_q0Trd1sE!3`dvL4t^l zk5L+tzc0-1kV&B{V}s-Xfl0Qp3*PBYK0Lwtjtbf9m={~ksW4F;M>%97MRu@1um>5w zN_e|p>NQ_qs)Mp9T*b_*#DD1Ia;kfj9u-Z7{)WF_uCY?2*x+4kz7b^kNUVG_R6tO) zpTsz-eb&!0Gghw(+oujN2dH`g_my%le~uclP!D_Ll`Mx}=B6wcP&#!B%Kr+NnkarF zSy?J7sTgt3*IDK3@}ZViJu2*8I#hPY*g`aYSc;&AZDA>STy>M5q7_lrfBA*XnO+Ul zy%Y(?*tBFRzBCtkI{rMfmaec!aJC41Vak>MDZ7WhkDnb1;wV5OPY3qMZDUy*p^2Aw zC~4O#!y3G!U!$rIu0%kVGOKQq&zYuGwk+EL7+4Mc$Ohwt4KnUT*pZhF5mrZ)tLOcA z~*OL+-y6Dt1!+;>)3e|ET4RQvy8GXd*Pkk@W_#}>R13OfL$vT-3Fw)sx%|Xa; zGDw&w1{zU&u2N2#F|2;PNsk3GKX6gOO$%aI;IJdu6@vQ8hck?h_)T1AF2S6t~o`at({-@whrB|iPLxTUnE8yVg<*VEAx*SKkI)u z5SD&sSA%)Hk?dY0&vW$CW`fq$g2&>GInLWk;fd*@h|jTeXcLSV7kBTbRi)UGvlAh{ z<22rTI1Tl*thkOKQ-%ya@9SooCD+QpVpgGKn6bQI#MINi;{`L057fZZAA3z~l+tlL zJDcOQ&zv)q*Tkx3asPgAvA5fGJ6a=XGmG6}^esG;a@-hRSJy*cs0Iq#A!nNDd@2>H z7gZzKR4e^8#-$hxteB&*G9rwYU&%QvVF{l6apJ-QJ8>cLyMZWQdwCueee!>iQ>|Rf zH5}2I&a5pUNx)Q$WWR6j^Fp`@^km4#9<5FdIR6t^_^EO#QRqJ z4UJG38#cY~dq%vct?%NTI;$va+{73*@-}nqE5VXogLo^Vr{Ep=+wttsT^81=FROCX zMQhDnR@YVmY0sD)7S2`wQVqI^2_+2!Ht4(Sxn;g-;|}HFL(q%*y8qC=`<3l8IwM=| z$<#x;4tHReR}TAIFml!l_H8hkPH@F50T~!b0qr1lJ5@4~n(6f)v+73@T-PkZYghmZBeP46n^`NKk9`;@jnVD|wDM``+z^Lkb;7c}1sx+tUA z3PP@r>I$sBdV6X*e6H1ZB+>x_x+251QF+&^6XWeRTh0|;qlhvkeRi)`o-Ve(PyXon zVh6n$JsSGMXEAU*6)9%?pq{>`wk=`%Wo&d+zVN<&&dL?z#@Co2+9PJFYtg3`-;li5 z?=A^0J-*nDNAJ6R(O_=V>WM*m9Quk0k>~CllB)tnZRZqLgbZRIn$|GwftXae5Pm@y3%J=e6p_|M?A1w)hf&`O)I2yTj`9H zh?9Yd$@qgq>xvp?;3KLi2dpKfHBcGOT?^BFsh@XF5icgR0OwhWKOg$;n{x#wX#}r4 z`fvTD)93(Suki$}SqsPgPQ7pe2Hw9rJ0f^4?X9yu3^pI?x8?Y}5E$!7KWCs;R<;?a zJ4$~h|AD~TIr#n7HDB_>rJvLv-Og=q{~0yt>Wie}LEes(VGlEgg=L(IZ#D^iqBev- zPAxHe5fAMz9zk8Q4-P41w6Ml8QgdJl@Ik4}2N3*Te2ztHg4?BmZ7o=ON`N8gqBpuI z)cx`Owfg%B?^xHuL>SZ{a_>*?cWQJcHC$}*!NG@gyugO~;y~r2IRho1%lNN|w$%(^ zT^Vriyy|VO^h66YkQ%>{$>j)xB$VywIDCRgwzcADc>G)#y<;ztkHSeNi(POz6rrV- z8Wsi1b>p4)3i=tT6X#C?sU2v$)oj5|CRZ_Auy(hZ_;?XZW_X&uuTFb)h5XP-5&(z` zB8o5OciUWkEjh10lv0q8D`4B*AgUw~)v8@shTyvEvs+4IGR9A?vrMBY+&J}co48v; zi13(@Tg|}WG{(oi4v&DX(R=f9P+pkh61<8q!vw?d0yX5!rj`EriD!C^EFeh6vzfQ? zd!yah^I4=3(RHl8)aN?j(g)pzZ>wi%*$LM-+S_Dil>K5}!?y+4^3qb7P;qO=3p=_8 z<+l*T0}@qhaUb~u6*SpZo{N%|LlAS0*tn-*))6<}@*_vohuA7f4Dz^oJfU zxh%kCUwXc9 zSiMp^C0+69^Y}$zy=iDP44r9wJl+a?4iOrc@E}P(#VqMVe9@0WFQta;gsE@L+OB3D zmyymU4T%03)#PvOV#EA)6`mIx>D5&QihJJNq4utLO`8V>UyUu_^^%3NcRca5q)LY{?10;!>YdEbcDma zghDaub%lK*9R}S8ceO;)JCzWolf!o9&vXywSD2V%@L{b35wP|y>~!Li2gACePT#IK zENBRZ*h(P)I(hpQ6ZlR7yOSNlP$Y;^D_7@AH_1=$Wrd<~DC?3;2ws%RpbX7VDw{`s zt9V@@5;Klus`h_Rx%q8-xd}Be?1`^g)q0dEGg=`iess&Prcnf=#N=v8W_Y$t;@4Bg z&x+$A;R;kdq^c?*Kp7}*=u9p;5`fpK@@UN$qIfbLtLCAPFKxNC%H~`nF0rS@-(g`O z_>Em01_4OP8{62u(_!xSn~T2V{GwmjFQA-$KQ--<5G$!P3EbYOX185B_C~u@W9x4a)v6@8 zeYPyV_1zNdymT<_+Df=##F$6xX{zA2Yb%OgQ<;=F-K0j`AL=^X{m@0E1cA7#8p21~f);ogct zQN*Z~g?kHz{5WnNm<{2?Xp>&G60Z9MmXEh|Q5fZ#;u7brkC!#~PY%U*sTE+88_*wQ zS9&YL5($!*;IhgU5aD&RX{BB+G;dH@eJ`%|;t{O0J$)G!3yQlcMoSWgM-gKuM%T7~ znbc&zw|>Nb*utlr7#*sm>TAR!c>J13#Pjpy3n-lz_sY#%jm2zy#LvsJ;a*5OjP$84 zRaTzR?U-i~ZcQ`42r4-#OkZx~Nw0|X0fNxkqnW}z{0I05pV6}2+1SxBukan7w0T{s z)x=b{SQtRcwP;V|BT8cj4Fj+^SHxj2Kazi=9AXehp;xZ$N9#*=97US#Be&fXL)cx- zJ-4fq;5@n)hl%%Ht#EO|ca-79?O-VU3~YSCIekwa!ENb4Tx+ehLY+gYp&NM=n2kb` z{BuEW^#sR2@gi0Lpy~Su;Ybhi;9wX80DU>vbFlC4Pec@e$+B%~rBYF|A}+#$j>-?u zVtPJ$XzidfH&ftx*G(Ee>wJvFi%XmC+*NYwJW$Y~NC%Vvv(K6puk&0)m&t}t9)R^P%3i@-2gj=?q% z_~~?Ro$+<#1D5lS&4!-F0z^(?SZ$|yTD^ItHkjw8646+^hyS1n;Tr%buPE!Ld=_~1 zpQt7vux_3wgTp_ubuONkmd83q)Y2`z4^IO1k>-M8!sL`+Y^JMrS>iwI`CZ!MNo=~j zl>eeRhZW1rZ!gh8kmL1|P}YI?RW`q{-(YzHqhhHmCT-k43yrbzmy=UD=s_%Tike>f z%K#GQaBom9Rpa8BHQvJd9Z!^kmeoSNw2o zVWY29T=zGD7DvrB`c#g$YJnC@kE^-2qcTh_=}kF^>lZPr+{1EC)66WGIDCx(;+2Sr z`9Uon&n0VRstGAu{4-(4HuoTfp8Tr*JM+=7$|v|OB0*A~egqX8q(od8jZ`1bvMOCo zAU{gjrxbv0^LrV?A;BoaE42tUTiop;3kJb^t0{RCS|q)1_(@+9oaLQ;^vlAJ-QKlm zs!e*gvQaMd6{)g@(9V)VLiG!)76yhTLMUUCRj~o1V&s<-*|Mx#h#$^~Kxf=V0180^ zI!q?3fvw;L{W4m9PyV^wMDM#(8}TyT&V~v$x%iVa^R3$j?+HisH$!Lun7;vqgE~k$ zKnI#gWUUwa(R-OuG z(b|60a6%RK!KKe7M!dUrBn4cG~}m=az4I_=8U16S0*GARUrczj=~)9FeK02V~bCI>Yov$M~D*pywIh;dx$ z8k@#OgRZ`L2xHSO=GAzzo-?Io)d%agyE=OZ{dIIzaA4-i2u0Nr0uV3_Lc8&%iRI9g zT)^vhz3ZU;(s0~0Ao0f<#D2?ZRb?!#eB%PxX962B0(R&@YhiQhe!q=PwDXb8lAoSC zyMC`GA9h-<(C~{6ExfEm9zOw+kfRiZe?HWB-7<2@$HC5ZN?%&ANM(Lmy|^B#-pXXd zq}V$dNeF(gLeB51{krI#)q5?KdYYEo(X`#e+kPmnoCT{6PAphUx9i12iuxo5>^E|b z{i2wOg7p#EyGB)L(JX6AP7x3&+xF4bD*20Zr$ z;vk~HTz(c=i?;f|i&3`fODi0}TmC zIKxhk*1zj7XO8ESvfmD7lv%rs{0{v%>gzBEE@EY2IY@2>4YWVXiq3p?fJYKiSJNf= zmE0$nNA>pfy8&$V%QerTT-e6I#9|8O?MM=Cteh@mu~0F;Rjc1J=*^K{xlmVCa2xH# z4;i;p1BS_|eEZ|>JNEr2rLHO?HSacme?*1{kgYI!>M)@Iy0|CTfX7%;H7`b@DD=Ot z+wiT!8%&qYEb&9(0SO49M^@^@ouA@kQd4oUM$Mc=(UZs`ZRk6u!8Jc<@^P&X8~mq% z^6N#p-QrLHsw)N>F;;c5m>XgU|IP3H@M6)c(z}Ud$#$0xn~8v&_z@S9SY{{pf?|X5 z{*(IJlNogA2}%E^?mBe5Yf9C6}0eV#|FoyK(8L)IL%O zq4JV4HQkrYT!A=!zzB=Jhw#oAw1HB$-}iL%-;25HdEmjLerpMus8&Cnpv7rDi%K@8 zPy`5hhDr#sG=dK0B;SMxm*xzlnf6n!o9v(J!JcHgUSeZd;5AccjOm2NH&O?>HGufaALa0~fmK6G@5>~}9^eM`HMxjLBxj1RvO;KA)E zv5IIQ^O>9P?7+yr?bFI)1tujEE~c){At+@%{nkGyDClhrXKDYe>Xyp|BH%^>6mm}h zi#a<}UR>f(%y-Q?7SB&?;gJA2_cXj#k5)ro3WZ0*2(Imq3}$Wtq&E2z-YGA!_A>J* zl#DGb@rmZq1vpl{hv{fdkD!fUk^_4+wKQ+ zQ0e70u8nwxn2yp5)T4*1{BhZSU&S3fSoy+PE2gHAcM^`2`zbBvr#xPA;uvpd=_h4b z7P7b0xV=3EFHWvh0-Ogp2_1$qs%y+)(&y(e@JB|DaII}sWmJ-&r;gm+ko&#@blvV3 zlRdzCZ4b?L++)%q)-3Kmk|^iUn%5I~O#iji%R0g4ERAyA;r$)1^E!ZTTv z-_B=COOyVNyIhDalvK~bW59T&2j;v32;KQCKhDZYO?=%iwwKaUrlrLK5ktVlZ6Cj+ zf!ZZE>hJa!bM@M87=Jzl2Q@|)C>zYu6iU2O3qtxhGfk5d?PhIcX1s}b>qfMcQMpYt z=BY*#Sgc`ddhLDf@F<9sqm6EBc07i7s;!12numQI<@a>*ymZZOI^z+bwkyK}MvP;+VpxJ5p`m>5LbrmIZWE?(>es61L z8+qwS4w7Nv9mCCcTp`!YmHU5j&Ai4PZ5c}FqdrnT^LW2s91Z7KTE^WK${MJ~AAfTN z^Z`2M2|Y-9ukdimr;uAo_c1ccACQHQN#g^GQTAKtrok3D z=$5N!J;k`UtJ@uXYu{2?V8VAU7J-&)HVOzNX%C+{V%xts8a9a|B4_4y?1erpN)2zI zA0350Aar-~3)XJ;j&wvnYu(#uZtIuF#6AF5_rZ=n-wb}<%bWJWWps?6hGoFTpmc8d zAcG-BT+5))Pzk#g$+$LwRjpQE{sAf6h*@ zpv>p~qSn6d{4^u%`E2n-*V(h3&Go~h`6}c#jp)_5ak}N!@Rj47si1Rt@0Q%I+!-2K z-!S2|CsNitdb)|Q5+`fVWx0-&HHoD>>P$v$4IO8T_VS49g7+RLcoH;FGJKTV3b*p% zt>81mo+L~=hgRp0D^{W~C7GI9T#1ckIk$moW#Kg*{p3uE5PBO9^MWd0WwMJ40mmO! z`CxA;?C^X#@GboF1^6Gu8R<_1sJ}8Oq$owSBSj3C;&lH%8ZBqo$ngJ|2Ri?6vZ(fr zRAxo}D&Jb`oAl(jOFyus%W=Z@mjMhdqpPvkKpowz%WS&MYpZuyoWAFxdV-cnV+F~* zk)s~ne{@`Ea3bIa8uDX&o*fqlaByy3v<#+^|A##V!?}>6tukGF7<0Xk^U=}sx7UjL z6E7iw+746d#7sm!^I!Wr{BOC00pk{>SnA9k1&bCxcpVG5zzF7=|H?)&*gvq*LUd9l z3BHk90$Nl)h5Ez}{m(DAYIO3f{NNu=c~{Cjr-?KFa0qsF_@$!D{n1Od3E!+NmKw5Y#U zQtW?l^w3xJq7-PMK5}%m*1VI3QQ3?a%bSmaMJV(E2a$kJBcrIl{qQpIwFsjS^^(9g zwRuu}W(QwXU%WM*?=m+MXSyQ1p2}x&FoqmR%@Pu9U;sH2Z4c*8*(DGq=ey~@lf`5a zG2P?S%0Nzfe%v4<*#8eCuWrdKl5GpJp{PV zALYPS5VIdia%tVr#@Z z5>u)-XVq~pWMp#QFB^GLjnnG7&Eg|*ZB$0*_Yg}Hb=+Qx!rweV{#G5I?5VF-Af=<$ zeztztQv)&q0Bo5J@2D8xbeGLe!Br(36Q@L$a)O8`K4XqzF^)n3tOp=2Rd>}N7rs1i zn~sOW1GQyzFI)rim=ZV$`PSneLDd8Lz~LgA#JR#6xu}1RUr4<6p}2vd=^u*s*%`Fb z&7VnUZ~y=uQFxO6wzwYQz<2&hs`#(Mf)24L=m0iPf>Yd&{0yRlFfQ7fwqhm=Ey)2t zzQg%QEk8&H&lSxj7G);Hk~rl(ousMgbGyvCXk}nS0sKkBFUqJ(%uidvG?jDYYKvXO zP$f?QmW>lEr@QZHfIVSpVzPIFSHZF#nihpGJ3YuNHF^iueR6j}IT&SpN;fz}U*v$OukL9i9*o*mi$CQJ*R8cnP9Z!tEi2&tW@W}oFDF*&rFr-z z6+oHERqyfn-udO0JsHU|5ZSv88t{jswASvCqpX8cYF&3Tue(HsU3er>EK!S;2S56Y zd{^rUEE!XT8ejFrmo>S_n*GfW_-Y`!I+AMFW}?&lskrqikt5BYOc%n_c{9#Qd1HBW zrTx<_FFE*tAbry9Po5`HMc;^@`1=q7VXbi^8$(jawjkA@{#9buenQ4irk!Aw2*9EU|QHlfyH~L{&+$4DQl9m@5EPG?Pm|MvJhL zc}s(YR_^g;OeXkjN*zA;1zH|jTjXf8v9P)<^m1!(AUREJ{6!dVB^PRIRL=XR{+@eV z3Xp@hlZ2*^ICIh8QV{a`;3M>8DRIPo;;)AlA27d& z3@Av8^|nV`6?=XmL!fIxNWLx96iwuFO&d>zVFLi+p&VmWN_>5;X}ingh1$^-IozNr~gyecR)4OG=E32p(xTsiZl@(q$<*z zU;vRO9fTk?2pD<|O+b2+P6$PM2PvU9l`2h4=p{%eG(!*df8+mozxO-eIo~-s=Vo(v zZ)SIAXXeiC{D!5?Tz0K1kD6O#E%^GI5XxTC+~-A1n4@OfF7}@#IbrH%2obA&&AH=VISs%NE7 z@#gY3l+9Ab9W__}2$O+QyrV^i&ifhxpMD$sy~1m3b+(H_spclcZP$kKA+<9OP2QX- z$hojjhewA>%-jd4U)_3YBPV5!4=JdF5%2@dkn{_b#ngy+e)hM{)YLI}zd^mh+# znQZ19%&m>kN_S^ER@G}^klF97$Dfn@vnuUoP_x;``>3cQtyjY8!Hyfzq{x{pB;9XB z38(76&(DdFd&lpjbs*7MF-96(t@=?={*I}zZL{#1hQgNHD;xSoAMww%t{R-+B^EkX@<+$4f6vH0Lz&ZED8lsxDF%=o!SZ-kcj+;(se`p9R;ZH7ZJ@J*=x?%p! zEw*Hv-ff>w)#wLI--WvPC5PkJ7p^>h;Zv^3A$$OU2pXgwbsYc9khvSFc(Fe*wesFX zcWDLi>k?)7mU9B40d?Y<(RgfH)peerHLW5wv$* z#exf2+jJPV79-82Nt;i7$|Lk7Xki)L@Z}O2h^$rpu7Mwqyym0o=rF{7a{u)eC32=j zSDh#0r?=oaIDz`>@kq*r=wp zQK^Kc&0i(<8IrbcpD8#>JTZ@wiP{SL<6TpCt;p&`{F&9senC6{BZwzJuj_^^h4jZ% zW~hm|X_|euwhh^H(io)y%&l(%p%6Md(O6&W)xaw|){*e_m#$vscs8 zvVrnh;_3Kx6bb?>#@WaD@&Z}ac8=pirbI7S*hV=El1ipTb70Z}=Zg-e=^HvOgP>u> zrGGB!+%Ft85(!N0ZGu*!iqv-kA|p-(IG+o~z1LOgKt4>&wvB^TLK3I%HkQi>H@vTC z)}}}GeJkfXi13C`RM0hvROzgS6pAn!5@H*9G#{o07Jgz2TC*q^uue*|49qzTKvo!omB>M$&ocFI zbks{r&o+{^-uCaMpILXVOXNMsX07SHGCJyviN6l_h{t~!)L>Yl%b^AUJ=K%m3N54;;>y^NSlQ{ zfBo6c;ufbvSZI&Tdz>=A%8sbFgM9J1%FrVztR*7;nQv9`CZ`R16oA;+eu#M z-p%^%jeQ~TOJUU_76VhC=x~l_nh@2sOLlJ*Fw{aNEKcON(h?7z3#fx5)jzF}Yp4x+ zsl5zKaq0^$4)lYwHY@|lZW1$rC*^#! zL#yxUZOWVsNcE|AYSR#vfo2?f(=n1$9r~ipp0d9V+UDB%#k3!u-k~MyYsO@buKP#E z@OVg51vozm5`D0+xj6%2=ynWXfsI8=-%qLg`DIOsoYzp)ZYwuBdm4=uRu5xe2Quk#YM=q4 zRY9Qg?~k&XhOle**oY-}!Q@c*-=9hUttW>8_zrZx>hAuv>lX=co8K@=3FWRxc(pgh z+%dIBOFvaJN-%AidEoxzp|Mc{lwp=!9q=iAkO(Ri5v>`4i2I#}508(n`~#KeQ)gJ2 zRbBt1@2J71)7-t+{gs-RV22F~jnIUZyNv_MHQQN&fmTL?{6ngRqSmYH&eI;XQ@Ndn z%qQwo?&}j&u0B2y<^db4^mX}S^JJ(%1%)++vIFgB8NA-dCPDt8J>1J*3EVGqWEtry(k3;GQ=E&UUQ*DW*}VD8KtYl7x!N;6 zqQowZqPtjEp+D>v{ieJeWZ`#I$eni;Gz+5pM`B!us$>kk&SqK$1IcSNI`9&&>HbAb zyD4Lzqq%Weh60$~Xngd)E)4UPp>U4-MOyFbD(ITXD)_ ztuo%9@EE&el#OzcFZjlK=&}3_3jhpR8at_#bO6%`dY;LO6GKXRoX)>r)|BnMD7Am) zd~^6Yc#(+;C277`iOTfT#&ms*ikUh-y8In0^Y|_=p|fIziX!$+dYZ^iez$-*+Lwaa z)ATSrro?6OfdsE9y1ztyL&ivP=S!HfGjr}~)u!#B@Xd^`j#)VgV7N`6OiG4&j@G?W z&CH{P`Rz&Zm_DYbeQvEEtdsX1*3(%du~DV34Dow>>Gv5=CX-a#?0wA$Zlp`?%Po;y zv*JnSdv$5H?+M0!4UgiA%C;}i(ZGz%T~nD8M@sgzu(qtm9}bQJ5lrIF3>2|V;!o;* z6qPhIkU=kh`qUjRjFLJlVELfC{ulT9wDXen)=I&neODDBn|jJXBEZdwS8?%cCNV06pMTdTAV<|P%m5W`_@`m}xvsd)(vGg<)($A2=Y zgn93@IrhT0KrcF?Z<<9lE|;`0C8sZ~hSyXF)5u;jKl)&eJQ!?s958ZyK3@ev{4;Lg z9S>wl5cr1$cN>&7@UF@?^KHsmhJj78LbXA?X8f1+i10z)E`?$44y!8=$CLx{$+C_o z(dRmrWgI)NU%?yl@FxntPacvEu;InQHo^QVVCIvrPZS(eOY=E8= zJuMB-X2Fl|?{lJdg1ZLCIP=bM@jq6C+2P_i009Pcc15Sdn6vS#g~iP> zRT?Yu)uCUTwYrrVZ!QQ}U3ux$eT+AMm)Wz-F<-+D3Q~&_(Ih0xpfch>u9oS<9B=bJmm~3AMJ&h2-D4El&}7X_iga?#1${nR_%B4?gitJfkwD+wNZ6|giThyunFJ}*jcASTvxEnkL#4hLzoUd8bXuIG!YY}(g zs>e*$Zg_1uWG_teDchq6-ZTTJs*9vTr&>CR&UWuDKlh&FwcAdv-4)fFikYS*jAa*p z3<--Tujh;K+3b!%mdRyW;87+$->&ch z*Y;0Klp5rZq=2sus(cjtz!hXfl?}*K;8su}z?2{Xi-vwE_xEQ?zftg}2^TANM5t-KHuzx1mb{8}q#ewJ}4RRQfBw)3%(DR3XHk&8hHJ^DLw$1?##+U%1FP zTfYdwNH>bteO`OOSXt+-@s3Blre^iit|H(X0v3L`?g$mPt&A<*t{D`wuD+{zas&3% zALUw(Blds{4&2`j%@Al?nzB^puX(xs-D{#S$kCyezE98sHxS|nR05Iw7%7H#{3w#& zkRN=Qof$*Bu2!9X80Z)?{JuivSU>{P?HNeanGTQjBH-EY);poxV6gXkfP=`UOk;vf z*`^%wxip%D!^DO-i`Te-T1=$@JsfAgP0-<`FMgh|qV->FHhppT^f2^SbN)|1cgto0 ziyWFtB}Ha`6XvB6n%)KPE#OW<>AVs zRy^Z-HF_M2{XP30RCe(;OzQX8KDgF`pmVmO`%xuq4AvnI_%&`Yk%>OA_KmcT{Otj& zj1T4o(M|__&OF`wYY~8sN&g?#x*c3d3q@pd^AKvz#^`j7ZJ1*+TTlVqV@egXEfkf2F>w3^T=k34S1+*A0C=y?uX7q z(o0Sipj|nfY~WiPdu6dQ$xMtyLV`cbQtxj##f7yX`R(lf8Szp_;M~@AY<;v~IjDx^ z@Jj_~KxBMS);h(I)XTbcnq)GXmlVe)Z zZ0^2$RjujYWo$IbQjCjDi$~GJ$1L?7ZfNN_qtGLte~PrJO}5x~Y4=X;{pC&hKrWoY z6^W@P2Vvot3uF3D;kdfnXl}RlTsO0ax(bqyGEOVf)2-~o zLQ|Bua7x{-4RFqAN}$DDx#0cm3^lyGoc)Q1#}yQ&)UWzHJ5boNnM2lden6<;^!m`JtD*0*O%G=z(R3} z4hf-csVA*Zpvh0$U?vJ952bA&vzaURcLd`EV^X{yE+k9RuU!5aMhNH2 zTsZi`xVI~E^BGj-&=aX|g3dKp7RKQ6pOUvf@%G;9e6&&L>f=cq;}0&sYG2zWGnBav zM!f@NXC#1K{eFd870wYpsxDoo81ZdB@9FmO;-YnWE1&~=Tqr~lyLK9coKjJ&qKw|# z#Dl?Q@^($%KU$$n3#d{?2P>GRxw`atq}(Zy(nKvFsC1?qV{Rem#fj-I#DcusOFzpx{Z6U8)(cG{qZ9T& zLU$|%rfI|!BLi6OQbdIsRX^fxbnR9ij?Yv(ZkOcvv^nVx^lW-e=OoVWL@fv*dhz_x zh*(a5qxiE zR380|oRb=ZJjhkakanEkQ&P8=QUYry;yd=js0!56L~YX#lCaWp@uvmgAxK|FSZXs1 zSKGlie~}yxek@-eiR z4z%@*JE79CI%qy}Pl{7DK)ZPipC z5=|dl4h;Li{R`J#YtRIJysm6qHC&h+Lssc}T*44>hc~?*w$zm`?Q@5yBYz?~3cHtS zop6@7J^kvlO}F-R^0WI_MyU-8y6q?Z=2pMLw)4T)ox#r@3xo<`FmCPw-G9Dx@Kz}5 zM`av_Ts69-{fz)8iMplXdfUcdw)N%<*g%YssO(!q#hla275mjj+z%;Z8+2Hro4yO7 z_AM3Ft|@Z91JKTns)tl59^Xk%Fv3$`)pQu2Ckl;g!8Jd>)|MGrOySLbZX_$%Na$ot zd#+8W7Y^I0s(MJncS8erjPu85Ug$Vos>7j1aLil9 zQiW17c4`|5$m7$yC-k^fo>v#^Lc)At8Zb04t3qoiT_2~G_Uy~T{3y)Juk%IYpZCD$(kh*181Nbk zqHL7(dj$+vs&0TS`1s4{nX2Er=5ji={;sr5QfphX-j|;+uv{*oG1RIH9fFo3zEV-> z_q+Wnq7pMSU# z`qZ+O?uIq_C1rXI#RxF-ON`RfU2GKuJzARFQI8Mon>DJ-8I^N^DlRu(h6~$o5Bng; zYzMb_3R_SPN8by)zTppNJ-Y9vXWT1eXM2I?RyIBxzh5ctWrc68(+f#I+K!T^4ej}| zlK2Rr7@+I@$JM&GyVnLXx@&tAmv;tUR9Bkd_Odf> z(K$QNx8?Jkk7riVM6Yw%*;i-d(b~Lydv;jqQwj>l1vBHpfgSAm%a{m<%|pvu^d!h? z9)km-vtw2XEURri>$)kBlhG&^(VGf!JLNkf`mWk%vO|OlPhWIJUd>K+zrM-f`q}nB zX8hQJ&nPi*+u~8S*AsP9w?ttzMtgs+CBrZLX#8F0pv85u7}4z@ zt}I?cP!F(;2Ab3URSb`Iyrkqwt{E*{S2&XAM*4fiu_Cui{#q6L-B|s%x}RDcyR)W} z_e7@_sSUq3gu7 diff --git a/site/build.js b/site/build.js index b926ae0..fac26b8 100644 --- a/site/build.js +++ b/site/build.js @@ -76,4 +76,4 @@ for ( let file in filesToParse ) { copyFiles( './src', '.js' ); copyFiles( './src', '.css' ); -console.log( '\n==> DONE\n\n' ); \ No newline at end of file +console.log( '\n==> DONE\n\n' ); diff --git a/site/src/index.html b/site/src/index.html index 4e780b3..c43a8a7 100644 --- a/site/src/index.html +++ b/site/src/index.html @@ -34,15 +34,15 @@

Software for your needs

Professional-Grade Software

- Store + Store
+ style="background-image: url( 'https://static.janishutz.com/assets/home/home-conductorcalc.jpg' );">
-

Custom Websites

-

Built from the ground up specifically for you, no frameworks used!

- Order now +

ConductorCalc

+

The perfect tool to aid you in the complex calculations necessary when building high voltage lines

+ Check it out

Store

Find your perfect professional-grade Software

- Store + Store
-

Custom Websites

-

Find your perfect new web appearance, built from the groundup without any frameworks

- Check it out +

ConductorCalc

+

Professional wire calculation software to aid in building high voltage lines safely

+ ConductorCalc
@@ -83,7 +83,7 @@

Accounts

Log into any of my services with one single account, or apply to get access to the SDKs to integrate them into your own projects

- To Account + To Account

Free & Open Source Software

@@ -99,9 +99,9 @@ iOS Apps
-

ConductorCalc

-

Professional wire calculation software to aid in building high voltage lines safely

- ConductorCalc +

Custom Websites

+

Find your perfect new web appearance, built from the groundup without any frameworks

+ Check it out
diff --git a/site/src/nav.html b/site/src/nav.html index 24fce5c..7845087 100644 --- a/site/src/nav.html +++ b/site/src/nav.html @@ -58,7 +58,8 @@ StorageManager QR & Barcode Insight libreǝvent - ConductorCalc + MusicPlayer + ConductorCalc diff --git a/site/src/projects/accounts/index.html b/site/src/projects/accounts/index.html deleted file mode 100644 index 79cbba4..0000000 --- a/site/src/projects/accounts/index.html +++ /dev/null @@ -1,49 +0,0 @@ - - - - - - - - - - - MusicPlayer - Fully browser based with built-in remote playlist display with animations | janishutz.com - - - - - - - - - - - - - - - - - - - -
- -

Accounts

- - ← All projects -

Log in with just one account securely to all my services. No need for separate accounts for each service.

- To Accounts -

This page is still under construction, as my accounts services are being reworked

-
- - -
- - - diff --git a/site/src/projects/biogascontrollerapp/index.html b/site/src/projects/biogascontrollerapp/index.html index c54ef36..b983f42 100644 --- a/site/src/projects/biogascontrollerapp/index.html +++ b/site/src/projects/biogascontrollerapp/index.html @@ -30,50 +30,6 @@ -
-
- -
-

Create Events with Ease

-

Using the libreǝvent's powerful admin panel

- Docs -
-
-

Create seat plans

-

libreǝvent's seat plan editor is designed to make this as easy as possible

- Docs -
-
-

Order Tickets

-

on this page and give users all important data

- Install today -
-
-

User Accounts

-

Your customers can do everything in self-service!

- Install today -
-
-

Open Source Project

-

Free Software, developed by Janis Hutz & the community

- Learn more about libreǝvent -
-
- arrow_back - arrow_forward -
- -
diff --git a/site/src/projects/conductorcalc/index.html b/site/src/projects/conductorcalc/index.html deleted file mode 100644 index 106f03a..0000000 --- a/site/src/projects/conductorcalc/index.html +++ /dev/null @@ -1,104 +0,0 @@ - - - - - - - - - - ConductorCalc - Professional High-Voltage Line Calculation Software | janishutz.com - - - - - - - - - - - - - - - - - - - - -
-
-
- Website -
-
-

Available on every platform

-

ConductorCalc uses web technologies to be available on all major platforms

- Buy now -
-
-

-

libreǝvent's seat plan editor is designed to make this as easy as possible

- Docs -
-
-

User Accounts

-

Your customers can do everything in self-service!

- Install today -
-
-

Open Source Project

-

Free Software, developed by Janis Hutz & the community

- Learn more about libreǝvent -
-
- arrow_back - arrow_forward
-
- -
- - -

ConductorCalc

- - ← All projects -

Professional High-Voltage-Line calculation software

- ConductorCalc.com -
- -
- - -
- - - - - - - - diff --git a/site/src/projects/index.html b/site/src/projects/index.html index e44944d..f1f3fe1 100644 --- a/site/src/projects/index.html +++ b/site/src/projects/index.html @@ -56,10 +56,6 @@ style="background-image: url( 'https://static.janishutz.com/assets/projects/qrscanner-title.jpg' );"> QR & Barcode Insight -
- Store -
MusicPlayer @@ -172,7 +168,7 @@

Store

The way to buy my software and support the development of my open source software

- Details + Store
@@ -181,7 +177,7 @@

Accounts

Tired of creating lots of accounts? All my services rely on a single account backend, not requiring you to create a new account for each

- Details + Account
diff --git a/site/src/projects/languageschoolhossegor-booking/index.html b/site/src/projects/languageschoolhossegor-booking/index.html index 8a28c33..9ed6107 100644 --- a/site/src/projects/languageschoolhossegor-booking/index.html +++ b/site/src/projects/languageschoolhossegor-booking/index.html @@ -31,108 +31,55 @@ -
-
-
-
-

Sources

-

Play your local music or use Apple Music (Apple Music Subscription required)

- Website -
-
-
-
-

Shared Playlists

-

Seamlessly sync and display what you are currently playing on other devices. Perfect for your - next party!

- Get it today -
-
-
-
-

Browser based

-

No need to install anything. Runs on any platform

- Get it today -
-
-
-
-

Hosted for you

-

Need the convenience of an already set up version?

- Website -
-
-
-
-

Open Source

-

Developed by Janis Hutz & the community

- GitHub -
-
-
-
-

Self-Hostable

-

Host it yourself. You need to be member of the Apple Developer Program for access to the Apple - Music API

- Docs -
-
-
- arrow_back - arrow_forward -
-
- -

Music­Player

+

Language School Hossegor Booking

← All projects -

Play music fully in the browser and remotely share what you are currently playing. Perfect for your next - party!

- Get it today +

A booking system to handle the complex demands of this French language school. It features an advanced admin + panel where the entire offering can be changed with incredible flexibility.

+ + Check it out

Features

-

Remote Playback Status

-

Remotely display what is currently playing via a link you can share. There is an additional link that - can be used to display the same information, but with animations that sync to the music (Microphone - access required on the target device and animations will sync up to the sound audible on that - device)

+

User accounts

+

There are user accounts where users can retrieve their invoices and view the status of their orders +

-

Two Sources

-

You can choose between two sources for audio: Your local disk or Apple Music and you can mix the two - in a single playlist. Cover Art and song information is fetched from the Apple Music API - automatically if you are using the hosted version or have configured the Apple Music API - authentication tokens

+

Very flexible main page

+

The main page dynamically loads its configuration from the backend and can thus be updated even + during normal operation. Almost all fields displayed on the start page are dynamically rendered + based on the configuration

-

Fully Featured Player

-

All the features you'd expect from a Music Player are present in MusicPlayer. Shuffle, Repeat, - Playlist support, adding more songs to queue, just to name a few, are all present.

+

Extensive admin panel

+

The admin panel offers all kinds of settings, ranging from the courses offered (with the complex + handling of combinations of multiple courses all adjustable in a user interface) to accommodation + offered, transfer, privacy policy and terms of service. Even newsletters, invoices and general mail + can be sent using it, all using their branding

-

Browser based

-

There is no need to install anything. MusicPlayer runs fully in your browser and is thus cross - platform. You could even run it off of your phone, if you wish!

+

Multi-Language Support

+

The entire content is available in currently two languages, with instant switch in languages thanks + to clever design of the localization system and the use of a web-app instead of a traditional + webpage

- Get it today +
+ +

A system like this could be possible for your own adventure.

+ + Interested?
diff --git a/site/src/projects/musicplayer/index.html b/site/src/projects/musicplayer/index.html index 796e8db..01f66b6 100644 --- a/site/src/projects/musicplayer/index.html +++ b/site/src/projects/musicplayer/index.html @@ -34,7 +34,7 @@
+ style="background-image: url( 'https://store-cdn.janishutz.com/assets/musicplayer/library-local.jpg' );">

Sources

Play your local music or use Apple Music (Apple Music Subscription required)

@@ -42,7 +42,7 @@
+ style="background-image: url( 'https://store-cdn.janishutz.com/assets/musicplayer/fancy.jpg' );">

Shared Playlists

Seamlessly sync and display what you are currently playing on other devices. Perfect for your @@ -51,7 +51,7 @@

+ style="background-image: url( 'https://store-cdn.janishutz.com/assets/musicplayer/player.jpg' );">

Browser based

No need to install anything. Runs on any platform

@@ -59,7 +59,7 @@
+ style="background-image: url( 'https://static.janishutz.com/assets/musicplayer/main.jpg' );">

Hosted for you

Need the convenience of an already set up version?

@@ -67,7 +67,7 @@
+ style="background-image: url( 'https://static.janishutz.com/assets/projects/musicplayer-title.jpg' );">

Open Source

Developed by Janis Hutz & the community

@@ -75,7 +75,7 @@
+ style="background-image: url( 'https://store-cdn.janishutz.com/assets/musicplayer/library-dark.jpg' );">

Self-Hostable

Host it yourself. You need to be member of the Apple Developer Program for access to the Apple diff --git a/site/src/projects/qrscanner/index.html b/site/src/projects/qrscanner/index.html index 7eb5675..d8abd27 100644 --- a/site/src/projects/qrscanner/index.html +++ b/site/src/projects/qrscanner/index.html @@ -3,7 +3,6 @@ - @@ -16,8 +15,7 @@ - + @@ -31,120 +29,48 @@

-
-
-
-
-

Sources

-

Play your local music or use Apple Music (Apple Music Subscription required)

- Website -
-
-
-
-

Shared Playlists

-

Seamlessly sync and display what you are currently playing on other devices. Perfect for your - next party!

- Get it today -
-
-
-
-

Browser based

-

No need to install anything. Runs on any platform

- Get it today -
-
-
-
-

Hosted for you

-

Need the convenience of an already set up version?

- Website -
-
-
-
-

Open Source

-

Developed by Janis Hutz & the community

- GitHub -
-
-
-
-

Self-Hostable

-

Host it yourself. You need to be member of the Apple Developer Program for access to the Apple - Music API

- Docs -
-
-
- arrow_back - arrow_forward -
-
- +

QR & Barcode Insight

← All projects -

Play music fully in the browser and remotely share what you are currently playing. Perfect for your next - party!

- Get it today +

QR codes have become ever more present and they can pose significant risk. QR & Barcode Insight shows the + full, unfiltered link to you so you can better judge if the link you are trying to open is safe. And with + the Safe Scanning In-App-Purchase, you can be even safer, as your link is automatically looked up in + Google's Safe Search database.

+ Get it today

Features

-

Remote Playback Status

-

Remotely display what is currently playing via a link you can share. There is an additional link that - can be used to display the same information, but with animations that sync to the music (Microphone - access required on the target device and animations will sync up to the sound audible on that - device)

+

Scan from your library

+

Ever had to scan a QR Code displayed on your phone screen? Annoying, right? Simply take a screenshot, open QR & Barcode Insight and select the screenshot from your library to scan it.

-

Two Sources

-

You can choose between two sources for audio: Your local disk or Apple Music and you can mix the two - in a single playlist. Cover Art and song information is fetched from the Apple Music API - automatically if you are using the hosted version or have configured the Apple Music API - authentication tokens

+

SafeScanning

+

For a small one-off fee of just CHF 1.00, you can purchase access to SafeScanning, providing you with added security - and you support the development of my software

-

Fully Featured Player

-

All the features you'd expect from a Music Player are present in MusicPlayer. Shuffle, Repeat, - Playlist support, adding more songs to queue, just to name a few, are all present.

+

Scan Barcodes

+

You can also scan barcodes, for the times, where typing them out is just too annoying.

-

Browser based

-

There is no need to install anything. MusicPlayer runs fully in your browser and is thus cross - platform. You could even run it off of your phone, if you wish!

+

Various code formats

+

QR & Barcode Insight supports various code formats, including QR, Mini-QR, EAN-8, EAN-13 and many more.


- Get it today + Get it today
- - - - diff --git a/site/src/projects/storagemanager/index.html b/site/src/projects/storagemanager/index.html index 553208c..b0eca98 100644 --- a/site/src/projects/storagemanager/index.html +++ b/site/src/projects/storagemanager/index.html @@ -34,36 +34,6 @@ -
-
-
- App Store -
-
-
- - App Store -
-
- - -
- arrow_back - arrow_forward -
-
-
diff --git a/site/src/projects/store/index.html b/site/src/projects/store/index.html deleted file mode 100644 index 038c204..0000000 --- a/site/src/projects/store/index.html +++ /dev/null @@ -1,100 +0,0 @@ - - - - - - - - - - Store - Buy Software and support the continuous development of open source projects | janishutz.com - - - - - - - - - - - - - - - - - - -
-
- -
-

Create Events with Ease

-

Using the libreǝvent's powerful admin panel

- Docs -
-
-

Create seat plans

-

libreǝvent's seat plan editor is designed to make this as easy as possible

- Docs -
-
-

Order Tickets

-

on this page and give users all important data

- Install today -
-
-

User Accounts

-

Your customers can do everything in self-service!

- Install today -
-
-

Open Source Project

-

Free Software, developed by Janis Hutz & the community

- Learn more about libreǝvent -
-
- arrow_back - arrow_forward -
-
- -
- -

Store

- - ← All projects -

Support my work and buy software

- Store - -
-

Why use a commercial event management solution, if you can host a more flexible - one yourself?

-
-
- - -
- - - - - - -