From 28cdf2d54a134510be3f2fec63ca83c1c7209649 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 22 Mar 2023 22:10:33 +0000 Subject: [PATCH] Init --- .gitignore | 1 + config.php | 15 +++++++++++++ index.php | 18 ++++++++++++++++ robots.txt | 2 ++ script.js | 61 +++++++++++++++++++++++++++++++++++++++++++++++++++++ sora.ttf | Bin 0 -> 57644 bytes style.css | 47 +++++++++++++++++++++++++++++++++++++++++ upload.php | 23 ++++++++++++++++++++ 8 files changed, 167 insertions(+) create mode 100644 .gitignore create mode 100644 config.php create mode 100644 index.php create mode 100644 robots.txt create mode 100644 script.js create mode 100644 sora.ttf create mode 100644 style.css create mode 100644 upload.php diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..d4a0307 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +i/* diff --git a/config.php b/config.php new file mode 100644 index 0000000..63ffab9 --- /dev/null +++ b/config.php @@ -0,0 +1,15 @@ + +$title = "imgpaste by gideonstar"; + +// Displayed text +$text = "Drop image here..."; + +// Writable data directory for images +$datadir = "i"; + +// Length of filenames +$hashlen = 8; + +?> diff --git a/index.php b/index.php new file mode 100644 index 0000000..06b9212 --- /dev/null +++ b/index.php @@ -0,0 +1,18 @@ + + + + + + + <?php echo $title; ?> + + + +
+
+

+
+
+ + + diff --git a/robots.txt b/robots.txt new file mode 100644 index 0000000..1f53798 --- /dev/null +++ b/robots.txt @@ -0,0 +1,2 @@ +User-agent: * +Disallow: / diff --git a/script.js b/script.js new file mode 100644 index 0000000..67d2d3a --- /dev/null +++ b/script.js @@ -0,0 +1,61 @@ +dropzone = document.getElementById('dropzone'); + +dropzone.addEventListener('dragover', function(e) +{ + e.preventDefault(); + this.classList.remove('nodrop'); + this.classList.add('drop'); +}); + +dropzone.addEventListener('dragleave', function(e) +{ + e.preventDefault(); + this.classList.remove('drop'); + this.classList.add('nodrop'); +}); + +/*dropzone.addEventListener('click', function(e) +{ + e.preventDefault(); + + input = document.createElement('input'); + input.type = 'file'; + input.click(); +});*/ + +dropzone.addEventListener('drop', function(e) +{ + e.preventDefault(); + this.classList.remove('drop'); + this.classList.add('nodrop'); + + file = e.dataTransfer.files[0]; + if( + file.type == 'image/png' || + file.type == 'image/jpeg' ) + { + upload(e.dataTransfer.files[0]); + } +}); + +function upload(file) { + const data = new FormData(); + data.append('upload', file) + + fetch('upload.php', + { + method: 'POST', + body: data + }).then(response => + { + response.json().then(parsedValue => { + filename = parsedValue['filename']; + datadir = parsedValue['datadir']; + openUploadedFile(datadir, filename); + }) + }); +}; + +function openUploadedFile(datadir, filename) { + window.open(window.location.href + datadir + '/' + filename, '_self'); +}; diff --git a/sora.ttf b/sora.ttf new file mode 100644 index 0000000000000000000000000000000000000000..0960fb490b75ecff51b29f0ffc6563919dcff350 GIT binary patch literal 57644 zcmb?^31C~r(f{s~EID@K`;HGCw&X*WW!laQJ|Dku0l8pSpNTZpCl_LK>PhaC+jE8+c!HqJ3BKw zJNry1AtVaFq=eK|R#lHZwCD^%F1eTxVQWoGbNh9_dg=y3c83yDf4HW-(>+v{>?P#2 zV}yj7o7)SF{YPp>30e09u=KZgly{tY`9uaGf5lglJG5$G^2DxnGlWbj(12%bVBI9( zQNX_y*U+(*XO2d#-E%b|bUq=Y=JAn%;pE#6?I&c#Fz#E&0SIl9;{Lkp@jY{V)zqf8 zGe^$EeS8lkE7uGSgd~5kmyof3;1^a6Y?>5e$U%H}p}u1Ez^akqic5|XvS|wUVyUCq+cys z^c8EOr-#;{6!-MZ%!u?!4$3s3mGSEu>Llbe@cYP%r-dITj|IW^1@OE~o(qBp@Y7Us zAP9buzdmjBQ_$xW(1{V|c!DGecF6Xh|Rj(*9PqcVX4#wSA zT3lRu-_4sgI9Jq2yDIFCa+j*PGQzc}KzMsPoi1@zm@O4uBg-Nxnw6Lu#6I(}@Rjf} z$s(jmr57v~bE&}EO;qazwJJi0k4wjQtIZT4&^v~Ab!F#t?dTue**0%D)HUENA1qfY zD~2nUZjBfYYyEjl_2l^_3GVGH-IZsxm$qi-w@#E6PqY;*UDU9-p7Dsc#>Y6)H^yU} zcXQzf$=`hNP(~eiCf0wPE;?=f!{q%SI2(Jh{t4QTb_CAj55VITk}h(%RIr%QLB`{B z0lbXBXYlyo0ryxPrq`JJz}-Wa4HygqmkoV0DDBPjj24%UG-UUdjGgOFaBUqgW87pt zVx#u~?@>JO(LwSkrzC;Fg*Rj}%yg#zCO}3CW{?CD5zeSvH)qOB494+kQsI4!O_Sis z!P{Za^LCPWJJ-;8yd91=2!0=dMrCx(seh1MbXxdfvLgu2I49zNnOt*P_z8;H`F;GD zP3H%}*=*u?Fq=RR)?xMEsSJ5b1ZF9;ewL&dg6sh!i{=e>roF_F;+ zZ6N`Q+58i0A0yY|F6JLNB?Lx>kBh{T#Z?&_6NmR{TF=IVR`t*x>V!TNm>f&eFl)3V z?KSHP<>%Bdb|y zD~D|6p;|>rc9v7EEeVm!jUB}mV?}{_x?)zZqiAkDnX$u(dVU#scveORAg`iIR>liG zgVXyVCl4?g;c`+25y6bl1tY%+JcAkE4k3^PJ((-Kc#Hp8T}#XKOQ&L>g!v86a|~Q6 zR}QiYkXWFn;{nWMBXG)nhWFmVhiH`dQyS$GdZ+ifIy!_4J35%eU>s>1ml!>;%E&cC z49YNF$)N>+!se2FOfF`=0=y!q_I+Qm+F%8}Fi=}Y?ki$--vzWcsP5r+SzUNH^oF3i zhqbKkXMom9n7oNpy!;ufYXS5U4rNrx$jcT6?Zf9cg6f{=V^H4rKwUXGL2lv{zmD3^ z&r(5CUuU%yz&t)n1x-}|>gyfTQJf0e7}Prk0D)*=cU2g}Sd!?QVNeutY>HV#Wyn=VX3bQ^ zU{7Ub&tS#6_vrO8&J8`uc@6FD4RpVEuxEo)xPr+VCDxe_>H8d;I9uo7qLF2T_Q7(i zwH%i?Z%%0-cezeDI z85y8zc#~SnW`tn%zPf_8PkN8dqZdyT#hyyaYU(b9zXUG^k6SIsdVWjfo3 zQRb8BfNf;@w~0N8UgFsSRFrXQYVizYcz{6}Ei#D-7#UPf9;6XO?rRAc1Ms8d3*477 z4?ys@#4T~V#TFle!sezL^XQJ3ytl5%U`^AUjTv)Ssl5>hR^La*Eqt9FNxr6k+!QFlN`lY-2`*$tX=lAU%bdA+&G__+c z-!-Os?KWpZ`Sw+A_p0sX3C?Y6t9uRY%Zo}TTJ`$YiISq_?FK?ZU}Zj(yn}Y*V105i z7md7iiQflJ1Y>0~Eu2qzbfVwNqzfTFRmayF2iwkBT$HL`dg)M3by8PXQgx1|J430= z=+gFVsnpbu)9~4~N1VQSaNGd*bd@`N-n3?3cu!Q6R#=)99oc$eThWRRL**&!5oSws zIoCUUT;IsKJ{Nu;#T>vW&4nKhvdOtzV~KcPrn1x3hX?hq)53EpMkRos=_ihdHnMhM z4eT?=K&KR+l1Vl?3^iLo9XW`I5>T_SzQsGLg| zle%8`-h9otk@TL_KPX*Zw3!1-rFH*Q-@*{_H1s`lk$!yJt+P>HhtH z!dFh$!<;VP_*P+jvwoVKTfATN({S&-KS513UFp5T{2x-nM)EfBovmS@McE2QDKW*; z(~rQ!ARYK@-Ird;VZA#u)2%;zf6FF!#l{xKZ(8Mjgobu&D)RCwv|Wbb=BVaj1MspI zuJE;hc*Q9#usBKZni%*OU%C8RZ|2)BXKCr%FSM?-T35Dm?5*B=siV8X;i%{`EXFV| z=BoupJ)h6;h0ud*XcC`SyiE>gaUllB8pWq|gX@F>$iImH zC^ZG(=o8=~{-YHB4r~GRg|HFw237cd4;vo$k9gR$d-2xFL3MkLyCb`)p><%Ye5%ni zRX(V!wp(k|r6sKmtBPy4#W*J_ly052EGr)#Zs>St#jwLZQmrn{)|9BTOGD%`Q)h9- zc#$}Fg^j#VD||e__?`xSkX-MBhcepHC$awH6c+6?^$&~Q8L@*m!S#>QShORsD3V|g zw)#w|e?91ZLP!^`nw}80!SG8?sRfTslE1^Tp1ZI)83t(Q^mzooyP}v zc4wC7<&|f3IY!(O<)e7xg|&XOf&(~?qp*jw9oNh5l~@$mk^E^)bShZLTq+5IGy5dM8w2eMtiJ*HDAfejXK^&K{`E922+r(?2tURH zz7!)sgni%};vNIgI$D!F)+C{^(fU8H7&n=&9sG?C$L8ru;nC^sK5XDM$HsYmzK_>`;Iz(# zAEs?VaK=-y{>v;5^?f`vl{Nq$Wl?M1H|A5)c+iM{5-lRMYDpB0`g+adQBO|HP#U-9 zc+{Whg)wy0`#w$bUKQirLQUTPVf|$o&f@*WOl%MIlKHe>zdw3dvmyIn|MBhpXz_R6 zZQRQy#tR=1NX;@#QLmvVts$CXbv7RCWPLVg0_Cp#(HO= za&4lLxp3MMNI zNpht!W_iG0-*;$A(rPowdq&m>!$*$rJCZo^iR7UF&bgCUOX6<3Er410#z%*YytJOx z*Td)ixu7A?BrF=NMbuY)TCU7xp4!L6cnqz4HYCK>vn+HhTy1T0YQs}PEZs$OnP&%U zOE_y=hji{R$7n<68Fp_Aok+;4wb&c7vKpPG&7r;F?xC2}LRVH%qxMwJULN4PrpHs< z@2KBUkz1SXXww-N6+3!OmMmLyZlK4roTm%P&RNb2Z~8}sdKerWQ$SB&CA^Jjp^^E6 z12hozN{nZ*aUSxbA&fnc8e1Zdfr&9P6XMCSkZ~c|`zO6AzHp*L*`|ndmB!ULa&&aa zdv)WKtJP`L+439mt4D2JIW6lmsf?BzYh798U3oHThY%uh*mU&;-iu<2hD#!A*QhEI zI!y&GW%G6GhHsj5(px+pE;SMK3n4W?`-m?pEJ|5X0Dc|0gG-8=TIe^zA7L#>J9G@w zFYbM-Z)-X)>3rO|!8=5|y}yJU#F3BbU+5JqS~~(cKxgH0Ho~)e0gEy%x}3xWMW|b< zb)<`5lydgv~El0A5N4eHwOO(eaO5}2_Ezzcx z*b)=9Hm#fFvdNL_pw*8Unj1UfcX@x^ zYG?L4&#V^QyuPPCqWWemQodCYJuWD~_>7_b7dKj$l@(NGrAchvrjh}B(NKx4$0o^aidDp_iZaV4 zFKz9=ZgtW4BWEd`si{tjwjw*%t;s7_XSzPGIsdn-Ck|Zfajdy@MbD0w>>7P(%~E~I zxI4-{T4d-gf6RL z-~Jg)pF5LjIcBxbfv!zv@ki!gXrawu1boBCw>q$-7MEbGbI@}Mbc1`$DM|74tE8nP zC61+)nOW5X)mYHvw^$5qg~qm+qBTu_Lqy|-y6)AMyoMo1jAOV_*I{1lboLhJwL0{+ zCNu{-Hgg#9z4=Vvbi)RH^5&v9os!z`4zhcDX6)oWP{!_opgmnjCAWOHl-;q<)YE$G zi>f)rjPGg-;$RpnpDIRFSsu^ViV1*FbK9sUJzX=}mXM$`81#CBL6>k~u=ikwvR9e$ zK<}W(X1T}gkcG4{u=yTG0H*Ef`xzSPLVqNlAGHtc8NSqz(POzvM04-rMgn zn}6YJ;dZlGoQd_+B?*<*kUQxnLY^QlQRnOcR0HTQ{ZRCOHTvsDf5p8Z&JBoTyaZ)+ zpW)6s?>r#+-FI$}N3z!AVRL8o%nsCNkzXEfW86En{szhQ-wmUF3+h8MtiT_}X}R0q zDu?a>l+p5QKNOrH!cuCKVZ{(J;yV%4@C(395rf5rJyrg3WZW3vqlo3Z!E|wE6XcrgwYj(WPoWP^n>{) zd%C*1=u*1byM6jNUF+SA7W&C8w1wV?9uq_i;`=|n<-6~gq?jSyb|G6F$5VDI{qZ4j zmx6CsmRF6q`R-)JigIb6yvgnGXf%yQ`R;6KpQK_{jG=X~Fvc|4Y%ne^HCC8=9k#_5 zg;iD7X9Bl)OWayKAlhj}6&VGvwbTKAG5WQpL=)`o>ebC{p;Zk7FuGS=bp&-<1Sh#s zqGQw}Iw5aqnlCs%{ggi~iK8pQxuB=dKY!8UsMhW?VVI|;ZaYoO2YhQT^GpQmJLbDc z(eKFbx&4|;=^_$e2ybvJCmUGVsj|J{Lh(sCZ|3&M|{{LIY_%I2p=HA_*fW+ZDlNoq-iE6D{ zzIx@#rk2n)=H*?5paeJ%x!NGgmA}r`scnn;qI#LXH#Nn^y$;wOqaVsNbTdB5*>AcQ z&!)@_kt1Xqlh$r+Y~onslI9!IsK9r(iT6XYZRUAtBzcBx6SAM+ZF%1%7tcJ;tavMn z{8%h-ePCsox`wboTGaE@nk0E*OoA#iL7}TD^1f@xS1pv!i(I%cEw#`nE2-pogkG{u z;$(QBMP{{qVxpR7!T?ciMoyViJ}*;+rB6swR9w1J=rtN;#U*-enj$PRX<;fB`4aeN zQ^L)#|MAFTs1Q9CpR@#`pFsu>_Ri*W+8Dt;abjkWJF8fKFK^w@kfrf#Xl_~W(PTAj zXl*>Bq~wf7{=3~-r%=~9N;{;bQeCz=KQ>RDT>uT)GiC2vWsb3~>a|*XS6O4stNQHL zx=qz}8*6Gd)>Ut+Yq7Oy7v#2@t4b7_N{h;_%u$rqu((7nSt3jd=aXpApNt56K6YIp z@uFMFC=^qILf|J!P-26PH;DGbX=B5v$u!#F88Mkgyw4Sl72*HbHhq~=RhF-Fsgy37 z0090MU0Ob5iZTzmTtnt4(@?n?AexRF-lww4bMjo7nXbH?@~rKE&<5NCjisP*^#6dy zw(4aD!?Nm{r3S-N@0-Al|6}WN?CBZyY^@_B-9ZHa@W1GC*C1#dEGruXje{;LKq8G# zXSuR-U23%}H`|qUVSq+~YwXTh&nMVAXhn+|A#l$p*sr6-j{X|0rfOMH$*@bB-S0`2 zR*vZlTMUJ*21{$czAYx#Gh763$CGDT+2x{R)0&SKpJD3IwcGW!#vEgBNy%ai7yR29 zJN=A%Hvt>X;!|1BO7C@fPtqs7C%cXcrPEIemw7z7?_tpwGUu5{>;>}J7UHRRPJEVW zH3NUxhXbbaS&wIW^?UCf_IUQb_a0peTt2JuxkLwTk8l8V#e+g;z&c#Vqc0pz57KT} ze`JHvJ7^c^jYKvYx8i=!7}JjJxiAC3mpBjUYqH^{7F1_vR~O{y^*Jc?j@;_p+$#RR zI@e{*#EeyES{WTg*iI{jZ(vT{&EYHobD)Y)@vasd7rAy4`U3Qry7lsMcb%45|S?ai!_+L=h*Ri3rSK)DY zcQn+vm#%iMtgBm5)SF&zDX35vm$=8bxHfDCbrkz9s;Yv9!h&+SEOZFu6wKfML2~Ey2 z9!VIEF*FaFV$6fh1q~Z2@@ln?cD=c`*s<7R&$6}fXu+&k#WD-zo=Zg^@af9$7QNn7J zh$}uelWmqjv_cfjcyTp+%F++k1J)!k(`jkbnN=#MCcQANVvQUBQwuY+PF2;J%~;*# zG}+-xA@Wk$)?QK3-X3EgcI#@)5n&5-PEA=)K|xQM#;IEn7GbH$a}V3w)a5!I)6zO! zxtgvhE-7^sm6Q}S4WXL(g07-B$mHbj=oy7ntH?>ZO1K`HNJ~uc__^%ZEJ0JvxBiPe zMKjrgXn(q~Ctr~aMV_BurO8TB*6Xvi1qE7_7Me_>J?XONSmmLixmjvMQc^)? zR&Hph+?r!|RjAX_)#~&#^<$}ti3?K`5>wess{~*B|Bv|E)_hi#n(;NgVzQ!gO$9z^ zoa(Bxnh}}G1z+*I*;d)nQCZp1$@rRAWBHHyT2kcaYX|1vAIVu#_;;9qTDqAc9?SeZ z0Xq#o3t{JRE-qP!b1?~`$mab>vX(Nh8*43Pe2k?3BP5vtj+Ojcx|hM376zQw;)eJH z{W$0edLr-y;ImKA6XFvrDq$CNh%1I;to`|aNOzH`v!W56;4xRYj>w}Btxhy8tj^K( z4-9%g_sq}hsgRBg^jDXZH688B&n{FCb{`cI{?@$8v1Oz81zJ_w&{XdIz1Ty&Z-pfG za0EN;3fMX~c}|#5pFvOHLyHzg$*qZ%K1c<#rtS%4jRPAH#Si&+pAeZyZ1D-&eI zw1Fj=Sfkhj`bbROX09X*1dEngL+E`)_0Zlm_ov+QkPg- zm~LIT(2}uYTd`%sU~#iHx4FpCl&x)Erg~2mm*23YAkMwMF1JpSy$#7wEJ5WNH2OS=FMTe#q2m!{LtWvspA6ilH+Hc z1^)ETI8i47(U7k&ZxURH*f6O0qz`(WK_M9m2>lxDO8fG517RtoWGmw*mM(U;Wo7T9 z%|hX#j+UIv>Bs5OTBIV0&uvB)CHL&sMT_i?loSv*~8r%Qf9$}~To+<_W3KXG4?C5W1 zdz>)+0e!xvM@0*nMycM(vp)GGU6^4 z_E_()@Dn%UsIGP-rl%)PUni_6s;VmDpRW{7MA90Hb{oDv|oRJbmP;N=dt+Yz6d8b5utup+?S zD}Rh^thU(L?+nbPS;;@meDaUD4RSaudj=O|FS7r;D}>$FJ7+~LUlhJWYI@nWzn=NA0hpyB z(r0^4!;_z;<9nhphm`+N9Jn+H4lWH$J0}M8pidf@W{<^auyyAgO~h2tK5E(Cf6uG} z@^gUc9Iug2ZLHE~Rgc)7oy!Ajjd{A?lZYQ|GoWzy(ZY-R@4L_KS1rN%_6J%P^Nf&w z%UXoB53FYWE{R+ntBhCLB-$X4g*rQ?oJ(`+O~!`YoCZ^tC$T4sp6h)mDK#an-O{nP z*ttHYYO+jUo10Uo*VpTk6Y2IgrT1_1(o|KeiX)0wRl$~K&3s9R>1Eiu3gdo0MRe{9 zIxJku{0{i|oD!zLxIvVwZD74k9!$oe!WvC;URI7)lartdZ%X*$cxFUgtSLL+rOK-L zLS3p!*W_m?@}i^Osg3=akeH?{*2pw24LsCNc<)2#bM{a4*}rQI{YkMXF6ql_G?^On z@H?wHaZwh%(0f1n9Ak84wNE)qHtc0$(&@O=NMEnnyobd$qh;nR@Z9cT-5or_ z&?`)#?4!1G`tP_y@M{sKLA*#rLgMglarXzBMA+n$9AM}8f~+;i8LT@d0?J|^b-m|P z7sB#c^}w79uXR>Oz*E6o6vm++c+6#^g(lKO@lc1&Vl{(1v_#^UXW@%&l{ znf{h}OKI?n&ZK)W!dPiwB_{wfL(deh^~Y|o#hYm2hXd1YFW)1d+2WziZC_`<66S89 z3h!HJlxJ~lI$g`9R9E4Be;z&l@abBnx6v~trDDtEc0y-%&3r&RggfCgks8Ew*3tEC z-b)gM-%Yz&E9M!4(1?8_t?0A+cR3Kdwy_L{;8-C-ILw@WZwHtn60FK>R@ZfF6_U~+ zr+rC9mZoxBrTebK(fXOFjRR%3l*fI<|uPnsH{0f`z0}D&i#Yu&6 zan{(HN^PAmc@z=8i+&(90}fpWc%~0-NBu8RKayr3!!hg$K4N4S{StK}sRFPQPq5xIykYbm z^n+|fri2NZ5_fI8xcB0VwMTM~y&UthSZ5cF5SoMQ+`WBA-_D)8j_RI&HSSf0o3)q1 z+f!3_P{!n2X;$QY{Yg1p71I8}{<^;a_k4)LM)k-MRttMr zLwsD(>vmtQyE=!@_zZ=O@NKt&Gj8$`Jun-4aMLL<_TZ+qfM1U`_zE9zT8ooU_|8V) z6M%TF=h=oxU(7(NRTpTaug>P~QX<|9Bef}s09V$in% z%?^SddYeJtWl%mZMGPv=>p3cM$?_0vVfaWvm>Bvb|_kGmOWcee$y3YY1neon;$zP$5=OZf+fv}q3 z6-MkFXGpM%>xp^${meVYRt_c8f8Z+zk7st-z}lNJQ$44+i1Y9e+7o>3CGhsX-`Z>o zb1*|*n9LSKX8Bwn(5jI!Y2#;*=&@&dz8HB!P8WEU{r{$E-WikkAhW3GHRN-PjLQ(tgm-W*bf)Cc5dHO?foV;rs;O=r0Hyd;eL?8P+^K;tDq-E{dsk!aAcI5QC9L2T# z7b1^MtBQ(NHHp8W|EkMt8Y;X`_^%iTBJ8CJ!ke&V9*i2ZW&As23p?hBrzHq`tEw1W z;zl0LMFBVxZaBOJtF;Y6BJ*BZu8)|A8dw|hgf^RrnP&D;%l3cb<6HVGi?U19Y-woB zaVqD}&uw=}73F$q>b!YJg*UwqmSN*YN6WlJSQRdG7A!;jG|5(wQCgO9Hlxu^jfjzM zVYILaDfZgfHXFM$ggfQ4cMuWv-*M7oGDa~dbbR`VF~`Dn5=;eT?P>}eh7p_#KL8(- z!=XLUDrT5i|7l;or5QeYgYYrt*xkbA!tp0qUB%2aUCZ`4=wdv}ykiCVj;_T%M;epI zcIH;G5O^TxCODHKk?*~Vt0T=3d!u%IMO;p7qAtqfNQkAiWfe_*jd^-~p4J$z6|T?k zbjFO2ON1&xqAt&KMLQ}RoaJqm`3gl|jw)Uq4{Dq<-wMr~!g~?46Dj1q@O`LnfZE z)n)0mJ9^DX*|PWYv%1J^t;= z=&j3Y2OLSRG}maIvjc1?D(Ylx;oL9}HR}sn28~E#E2!U4$+j}v@=Yx9*=)*cUtHKS zh<8}D7Wx=w>Mgd6)P$-lNb$Uj4T6lQ6 zx6)M5nh~F$m|#sw%nXrMOWB(l=8O_n08h`3#_Xu#9OR#8;oQsNqXaFB`k)81iZU-2 zR%u-{GJKWM$8^tALAXoRHmyNB>8SM-k4UTp9*QTBLSwM!Z%6xTx`-|nUc)%)kTd=LGYj!Jv%t1{=Nwr; zG$Sb@Lmio~kB!o1N0ruOJYuWUR_i;v6za^3SXClTke1V-Rc9;ISpGB!0!7Ntdts$^ ztvT7OT)0pXnW;!BE@P6fpCgQr-7mZ>m%_4Ls; zZ{>j>Q66St%k(xC-|hboGziy)qD(!sqWlo%*Qo#@~gmRc4)M*p3ZfkIp!` zxCN2SFw^2TI2$cOG4Sx-C{}r+uCE~pdNQZfKNmstEt8_#0Mf=9bZ@>X8-(@ETH#=?)@ z{g%0-A8vEhC{?vKdyPt2U8K*~=i@*9@-#qZ#Autj%a~&AEG+D_rWm`-?uv?<^7876 zO7Gwg++bYdnU&-$$S%$|nd0lF_zq(oGMXNvO_{~5E~Kg2`<>-q`geO3GXKS(z7HN0(5vCmG>6W+|D zzCHRbO~|Hu zw%p^n2>Ec{+5;T78D4j%f2LPOe=jh|tOI2;oyW|4=R)Wg8i{Mf=~z~!(Ny;rSK=5& zs>k~|ParI?vIN4Tbj;H|Y1K82;LyZiLvGRP=D*H5JxB$8=0nsw@<%D7Hb;Q zv>W-l+kcSily}1+NX{Z!&sEh_sY_D-Q-Sg zp$sz(bSF6<5)8{Y{R?2srFYQ_g}3qa4thYkQ^W|^PQWy%%k1Ay-)a_h$zfi1CppRL zV(u6KdlsjxQrNl!{%)`n9LRlD8|EoA(MTx{Pt8)N$Ep%C-TCw`b3#F8L%vk1&Pdb5 z==0+1S~A4`G>~UGjc9%P7ia^$A$R-MDUg}oHs30RuOh&SRJ_y9zdrO?(&#>qbZjg} z)zT#-oLIlAtFy)XCNRNcrq`oBB89W-Nq$-|y02bPR~eUXGMj~jJBu4NU1qcQ7Df+y zW;^#{e$KdoJg)~hFF7s_-{XTn%i-=*>dVLh9wF#qEeC1?%HN36iWNWThrh~j%gEEM ztVIR|m4GtL910C^%+VgxwRJ=Yq zJ1i=y!mMb{(o`E0;zFd-uz6|fn6w0$qQa;zRn(+uvNUW~ zv((8UAx$Cjum$rILS<2L;W5S>7Dc`Q>p;^iy?nooxl8{&y|mG`*y{??|LP$tRcvyO7?2ix}9-bPWRyRxVg7{E*RP6j{vo@2- z3f|2@-jWm{R&gCP(jefWmps#ZLw#6}%s?z42W znf!@t$l0D=`0{ml_egP#tI}vM^7NbgoV}AmFLl`MML7jUUE_}7sNSXwn<-0~C6k3V zRGR9vEzOF2y*fQJL^iLn+Sr%}9`UyM+`9ohVl!A=hnxz>oE&2u&7X;2lw$UYwSPx0 z<@0)O?L(uyHs)$@?WcXG@>wKhE!V)UtWDa=G%$E-pZS##C5gvQR`VQAXta6>d z19mnQqAvjx*v2liSiZZ^sk40YRguwjAD=8GNUG1Qab{}Wxr>yQ`MPSYy27rUNGWue z0H#Rvg)!Is*>l2r)Y4<)vXKDr5Q66*(vkG zl2xXxmSHM4N0w<7niO6mub?KUwN8?`gz;9;euPeEirB9I(OeWd;uGyUi@l19j!;GCB!>SzxKZN zBByoT^tD37v16@Sc~vepWN7oY_JJ)`hF?D-#crOo^4#A1Ma|>pvenf!ldg{3I(8IQQ)kiD>lnZDklA|pM5gFvp8n?n1C%!fvR13<WW}l&@-tvkz^pDZJw$ z&Yy~NdoQeCZuhZASD$aJ%f?2jzCI5loQzWkWxlhqh@~YT>pd1Y8|%cb*3|5-mXq4q zu9lRz&<(sP7dBjc?=D%#UbUw71>(eGBEJ}*<`!xi_{Mv?aKL*`i}xJi0DaAyO}F+` zRT=i~-G!L46!xD8H~s{s(E*x7Hp{N>4yeS?J zb-LZ&!*|`qB9QH9W8gn;vv2g7yBCsp5MK~z#RdL%6gB-}$qB^|Upsyfr zsdo>Zl&RWl1Y!EKyn-(Jl9BF!hn$Obr*l8geQQO<6Qz-OJ zJ>G*zKzXGvqPvB5dhgKXNrjA z{h6V2l_jTP#2HsST$jUxD%a8ZmcAnABBMX3f|;m8bUGJvLBlPmKM%>Dh@{QpI$kah z3UkrCwzb7eyXy;Uv%Bju@}mtjF%0pV$NpX&os-%!SzLTZjBBE_vL&-3zp^7Tyz5v@ z+XZ(@WTDRC;)tR#7kHG8Y^ZK-i;i&J$YPIQ&~Dfw71xaHkkM>16kdhEOp`Agift1- zT+`W{lbM;5of(}ProAZSUYc@OMnrmKb!X=nbw#O}+SIhHu+Y*)^4iKXqC-O5MKXIW zvn%!JD_)`a-}KefhUBkB4aT~h-nxYaF=m<)=G{ww|6y%}IlgVG#JMi0uM6h4`~iLa zHI;`2_w@tGMLf=lzVbNeDkfbtQh*g@yr6q&H;;3&`?mu^g!8CV_&2;zCLz@Son;iX zV~xTx>bapv=kKD%dDFL(Gt<*!FKDIP2)qjPyNWyzm)4@^SJT8yM&PdQZAX)CH z1Y?JcxQ(G3+e#O#Z(F~>`zO~!)JWUt#okY7w09E@w|l>$^Qd<}?epG7+pIWhMzLqc za>qVq`!CGbKv15$ZY*6qI07JNk@|SNJjatMrp6)E(V zO}bK3QdweMQFT*Ob=gE2f{_u;E7fK3x#~VW&s>2YjmR$BoqEwHk2x^eUD%!C(Fe98 z5ZpLyHj_eM)24X6wy-uOO`}w3np>)>S`7Bu*qFEvXBsmLCXBZyDYyX zF&+USut5t*vQYYFX9MvC7)pc9B7qLhnTXjLBswb&g7Z z|B51-S7^!-asvHBhFF)RTSa)N7!F=@bf`Z6sUh4Ipl-0aba+=-RodI1NHfyfk@|bzO#KI-&kgi zSpPY^SD7t_k>w#QfaI{OhH%Vr?5RTX;#ua(^9P3SubryCZt0CI$H(Jgzu~i`;IUjh z!Rq_-N%?zwOcMSiFerT(zFxU)OWPL3s;z4-xVrChnzqKhwflS)5``P$6%qQ-qNf}$ zAE|%(By9ul(Omc;3ZDAwa|sdazeGjJoKv4J#5=#(h~T%72D&5B%UHRDzb8Xti)HUF zNPS%Ln~C!x&KmlqKF6@WB_mqO+BPb^1O_MaGGi79niL(tBo_vtC=?%hu-u-)3LXr__5NkKaK7O z+S~e{0@^>a(ZrhPhtPh%$C!l|@G)T~=1Jd}SZKWOEo>I{7Pca)j#}V7fmg7+9uq+e zR?sC;Nixq0@2wHZ^TapGuxB|JzxHwQan41KGXO^fq>*t^Y>DX&vG!lc{dh{iUew1p zwD2)BXU6P$)xVd>H^>7KCOXx&u0~OI!T9+0GDXeWw()_X(XpXHM9|NxwT|4fY}qX% z*4pz19X-3Qy?Muu8~5&J?dHSBx`x{{FQ{Yd&wTh;*TAMlBdQ))fBIWI^_=@VrLEeW zR;RNyTib%*mf28fGJav|wJ$7QWWt8}LVK^tgWVvv8@oZk+<>*^BJ_pti*h^Qi$ZZb z`Tf;o+mb13(fXc6Q$^OPB}H{AyhFlKr&iU)_1!w5UvulCMYpcePu$wqRknR}#RVlL z+b6~@DC4>frePTKzZC_VF6c)BDhQ&uW!N$LIZpT8L4Jd`Sw2TzCGU_=(EV^)PtT*f z=(Y5AdLMm^et^tVuaFMU*DAQ-6ZYbb4r_%i!kxkc!sEho!rvrWl0r#|q)yT)d0q0A zG)bC?cU;s-JEi^7719mT^Q1eaS4(e^-XncTdRY2`^tkkI(odz|hR8zlLmERCg^Yx3 z3)vlVbI7kk9t=4Y@{WwkQt>ZaW|p~R9@)jRS7q%lBTQqNE-Wl`GnfJ4K*Ux)!-jnm5pLaY=5~d9^ zg_VUhgms4vg{=uYJM5yc%foI8I}rAI*gwL)2&dr-!u8>v@SgDD@X7Ga;n#)V5&oO- z$L9<4BjzX1&z!HD@0edbzjglO^Pijl>VljFmIdVtIu~qNaCd|@!WeNz#JLeWBOZ(R zIO5-t(#X_EgsUR!BZni;i@Y-O7m=?-z8!fI?_!LN%81H~vPD%yHAGEDT^aRKbZqp( z==|ui=!WP;(L>P}Mc*A09N z!no_>UWt1cZ5<)bZ3aQg@`@o_bH}V`&j-aM#j|X{Bkq)2>RpHEn;|Gim=w`y!pDho{G-i&z}aT%J7!VG6dO-5VBxfwe$?#OsDiUo>fMV7*#C{|P{Mid(qS1KM-oK$?L3{}P{o0N-{ATg?mFNNu^cLEEVv&`xNlv|F`1 zw7=0ls(nWLSM9gi^6c2`^z58$b9Pzwwb}p5sn2Q4*_3l*&WW7&b3V_R$qma*$W`TD zmV0CF!Q9{H9?w0Q7m=5pH<@>4-od;X-2z>*u2eUKe^=_B*1e>AOE;6R%{S(k8JGD^}F;}>L1m=QxH{9UC>;xwctR(;|1>+q=qO%sv+B8 zHn-+<@KfO}2}(F2x=dzsj8EFvrE6Ql>%A@Mr%6|P0JXy#p9wYYwUs|EM_ zeD`0+RROrK9#Q$=pW|v3wi1m{A9URZnpjcrGT^(i@9C0jK!Zp#Vb@d20I^GzpcB`h zDrj>;*oo(Tb%jUq{RqkrUGF1y;dG^qqzH4%YT%70egA0@4wD3FEJ>eR5UGj+jo&Z3 zNvRNA%7|VFDirZS{||#p9tpa?pC|%#oya-;gv1FpVvr6JH;3PcG3&u!jN3r=AUDMB zD|%d6S?w!UT;XGgKfLaK(l0C}W>$P)1o9x;KA8Us+Sq+wM;J!^+emvby~x+9Lt(Qj z@Pl_M7=^tg7j;W924+D;47{+VHWA1K|LpkO;YY^XWbOV?Ifodr zldEC{&s8Gxri0a$Y$q|SV490%E9v7nd~FFA`*1#r`?rxqnvFege>oenzX5#zBg#ue zA^8~POO#JgzCw8)Wg7Rc@s+D_y$WRw_`i*0u>zc(!XChGMA?Qt`=66ERsb($SMu7- zF5y$bXEZ0A?bx4vWnm7)yNP$0{!K$kNG2q{lqD;6BoXR5XSdOqQmEQc>ipb_de!e1mas!KXpa_`-D-V!){|bE5K1Nxk3CK zOh0&^ButP>)X8B5_3++GT&ExtD^dQpR~Kmip=S$7lB9*C%q@Ze_F9ek9$Y3lzibRf z-zV1KBK#fvdy3?<0=gRri;F(%eFHBd)5Aa5Aw9_;!9UP8QlSYuBy8_!2lEw3gLtJ& zp{HEIb#EqQ4OA}2%HU1SO;zLxLcSHmHl&An{ma=sMB$F(qQF`oUr^XJ4!>FZaYQP$ za3Y9{mFeprlB1NTQN^!SRrHWC-t47`eO;{_kp9P@dW~#wr+Cj^)TKYyv z3ScG@nIsIDH4+OjZw2N@(?3(hDv}hb3hY?}vr*wV1@ka4Q($hMImxjHetBaci<0T@ zyia&P7J<_bvgxvr0PzFl zD|!(|^w0Ecas%CsT+K7__SLQA2+gCL>3;ehouJRt!!&}1(!1$C@;Cf7p{KB>tRnxS zX>>ce6=N8INKZUQD~o85sjNpfUp4+3QzQP)PzPB?2FMWpPQ)2xBi=H3KDik0Y2Qum zCi}=e;Ql)_g;rgj-RtBV8b`G>pW10LEy0L%&}DQzJ)i!Z-asFsf5IB}pY&7u zFW7=RvEIFl{DO9ougMeix8ync1-T!(@=wSfID=-;8mxJ*#@qG(NVm~H;;lYc;jcMu zpywd}auTO9lynWY`;O8JNGRevGDrf8up#z@$V4)tS81dO+Rh9wLk(@xOS&MBOUWX< z-G2$$Og16c^K9&WZNOg&xsF_psNZe)TY@(sD*G^bm%M?$R{+aI_0&KM$>($l9i#np z5c|7B`XA`@1*d#NBTZ8+inC;8DaC9zvx0McBYU zKuSM=Px2;7$I4zsKE>Mu-h#bMfUg@5{hS0{l!$qqO+*o1P}zgmJVMbZWx+Df|-@&5$6d^wV?2gqVN4&6FTM(CwvIlYpM(aYg) z-$>TbU%>ymnXIBWktzB(l5-y;Yw088Jm{D$^snSh`YPE<-y`SHH_5s5U2*~ah+INH zCp*c{>A%UP^jmmz-;haq3t3NpkC@ce#Z88APv#P;(Wa>wFmVA=wOfFk}>v)p#Z+&~6*r8v}-wpkXcO z(}P0xuNbqv8KnxJ{50m1Q)~O-iaGEu;9Ltjmh;wFul-p4Pt3*S=B=+rKNt_zK))!U zb3|I#k$V1VfcJF(^edo|7`4Imb%56Mek{j~Wpx_)Q$wgZjKcUI%sW3P)`7Oc?_tve z!w7Frd`jf^M(DhaKU$xS>T>jamU?l7M}cc2Z-tGySYsuwLuh3+>W_d%1*l(*E90Gl zw=K#?9Zo4JFcy=%ZZKxgDHs?B=5oFe)UqPV+v(c%Q!_v|fWGBi4hHd?wY?GFnS3d5 zhqYUdxF!2M1^H8akE83*8z$?MxX-xC#(yQQOa{jwh0Va=`CmTO4SM{u2!>8Hd^6WW zvQG2EZetHFlk6eSPzm(VAl{KK#U95HJkoo(Rh!01A>^>pP-xwGGz@cV1QFKx&N-p`D#^Cf%9Q1P@^t2B8`4~;2$*^_*1KsyLc1gaWY2*cHt_-Sx zHBv#7WkQE%!5h(Ht(%RL^Evp-I(g7WnEzASE^o*Ygw_2Lxd`}iBg)x=BtU=x>8c#N>_{p1ZgKnJ1i zhsbMmn2x~qM$%E(%yDuFto3qI1Fzvp_#hO%!*03)XQK|{{gJDYPp}5I{0#UR%%ZP@ z%&enR@G=&{W7vTA4*ZI4f|WQEUcp)PYe}u!D*8GI}|^0@mv<*K z?tdM*3vVCz9ablg!&)}bo9NB3m{G8I9@xuUF;_OiJ9!n>?{>Nm=e-)~o%ENa2`iIk z`YZTVzoz%ld*N-}2M^>5_!IBY`=Q^D)8Ehs;N5(JcN;uNKE)dqTHyyhOdp|-BI@uM z{T(dvCipLHu)j~hC)rHygLQq9oCV+FFo~m2(IfO}*v~KMQS1%hNPa=ifo{H-gu^46 zPoIS?i)MBh`HLxGa5fp?k z#KJSUN{GW7F_#Dlg9!1?uzi5SPmP6je8ikpm*?hL?}59a*=09se3x7r@THhu4j*9oR6!Kg;VxO6U8o zKA=eQ{5tWsxn zS(A9HDd?8jB5URyUC=zf9%Hh0{i>A%>!;++BDt~_k$_h5(&oE}L)R9>tu~G`T)YGk zWUgKGzdMpllDPVw83{Oj7~W8>oYDE58D$W)+0v=1;_g?HLy5E+N7*bL*M z$xspQyXqmXoU?%O3gJVuoe3KXkS`)L+Qhm>8?QT$O)>q{>h-I9Z5e&2j6rP~eFPYT z2`Dr!7+Sw}?a1n(Gx_tf;o0#r8SFkZc9EjtX66i?S2Ql}Q>=H*SEIXlXk zX%SMCH#JxRVn$ep!!?+aqQTtLkY$IrhB-_z%&w7X56zi2*(uXpTeNa}o2!+JVzF0X&UU{Lw%lE zQPJqxyKnrg+*wW~t4pg-T~d9X*;*9#{d+lb)XSEm=Cd1Vz1emd#ql6jZcvBBrj9T# z_KT7o1}S-pOfcgG3EZE$pwYEvu8y`Am1)m z6qr1?ZOb9qMV+r!v?P1>v4tBuLhRXZgmQ$~5za*o40XzUsHVeHVBe&mY0dZS?>G_rQ?(WX<>&Ir=}yWAooGL?8KpECyr>@4ISYwn4Lc%UJNBS zFQAO_;QMHxoSeRPb>;N&6l%2YLbyI&3_bM}+NEM!kpl4b?3-gVVBef5u~$!9POz1j zP&h4rvR%QBQ?qANqX`|B6R#qo5*=}A5ylnHoo#1Q9GXdSG`O~xr%3OWSfqumZcmXi zVxny+sbx{L5|of!6n>C8m#ZpKck`l#yqenROasIg+3cI-*bdQ__oO1*R${Xvd7LMx zsRU1vtqp9;Ce5|kWNtKt@pHq8^UT$BB|a4OjC%-{krMDcq<)@xdVRvYsDhj~nJ0ki zVs%Nm#j8s$lYXw@ZH5qIvqnd}EVG!da9`YmfD5XdKAXY69cFv_zlQPKE|}fuwHU^7 zZo<5oUV&kp;9krLj5rv2`M<(^l-``77xXmdf3m_chB46Ra6iw8rlGI#BIafeLyz?} ze5F5O=uzy#y_+M35zc*3_Oog!hLx5wUiJ>(8H!;f_&w-H=;IpRNB9WJC)P>KPwC4V z#zHGGzhWHJ(6f<2fb87uk;?war8tD(5T=FK6G3?Lp+RWMAN`D~j zQR2JPv48H^Qqw}0xf`)ZJND18Wnd%;P^S1vO})d2hhbD&YFz4d7d0t$_h+ps>PgC8 z$1W&eDJ?A-I{S=jwov*Z4VQ8$dSy5vnLoCVLt%$S@%%NjIuLjDYE#LO8p zXVBAjD+doEw2a`yf%{zVlh2l=ORrbZYHX{qnXAHwTr2T5J~ChLPzU8y*1oKgM(CXtIaRnF1g>l~SJVVAdk<`C~#=cw~Wk2&5+tvY1JH9owPxN=9< z_1+z=&Un{l#JtMU6FPzuVS?-e{`()ab&;?4rj@(=f z9SW6&4odh?KypVp*r_BXp+AP+cl^GSE_{it@lVof=O9!r_i6Z(60q|cbv5+Al)Gsh zmkRTPXdXLMv@Dg!E{6Ug^k|t2*V#1{j#W||y$ZL@EeTG1_2JqMoxsn@G1o-z=T^-h zj!tbYrC{XBDECW=N6#GTaPD+buaeX>;+IAd+p%AwroJ1>iS-omMR@emp`t1J0bx&t zzG)~mT+tvk;gm;d!o_fG4cy|#cH|;@N7;YY;dDn98`sXIQ~do@srCQOpUP82yETp3 z$!|;Yn`-;1?A0T4B71eT0-F4kgOa2iqGf{I)A}0F7B0I*R7J7&;X?N*Jln8cHvYZ;8gy2Z;;qB!$JHlaj{JVRY(oC{?0a zp}$W&tkh8ME`?G->T012w>Kya>=wI9^5KPLMuvm*86-+Ahx`J>G?{-4ZW;js(i{nlt!F zG@bpk%b0u}3%weq{SZ4U{}Q?(k2Uad;X`dU`nf3ca!FC+pM6!>Y!u($BOz&_T;h3E zA|)RQ<2bbDYn1~<3LLJW4CU#6k+P+jbc$FH&mJnhReG?K_g)z)zoMQEst)?6!->7vUp2ZuBkEq&}km zM2_pxlNW`%Ro*&DhEq*bMl@_{QGYa`Vrk-m&X5jqXf0F8g453P9gb``w|dCu@G5`WysF;CKB zR2?TeA^How#rl>8zi_Nl5@;h2@dQHq!jVYys*|)UzR*^JoqCO(JS#Vb4igFv;9Rs&oba8^OPI^h(r9+)=i=UW z%1LqPU9MB@9ZrcIDlBhNsnQa(`{$=LeUy%!GUp03BK7taCOxI_kGAMV?oMv;qaB1V z{7sr9bWk;`a4D_OuvXVIQbak>rjeY>FJcqJ|K`u(XFD&-`H?&Mg>S+?QlnY~(~*A7 zLDST@v&*xqvi;dXM&P33h~zMv9A)!l&E`(obylV?Kf5}+HoJ}mg&tp$FV&ajYwPRa z>*DkI`ueW(4fBom-Q*kNyURD;H^rAnZ2$g90B!(7 zz$jM#SlJJN`CuU^0ZYLu%k($~@rY69d-j!lhK(0`DSYeR%OY|Ks%ioxJqXRM(NDJk9B6?2AvtW zO=kwC>&!rr&J4`cIe{fQC$LoK1eWQXzzUrWSgA7rPw066Q##(iR>%0C(J}rFI>!H^ zj`6>wsj~5Xg%xvj5*B{K+H30mS8SIUl{8+Z69M=g#N7bi%=FK zFVNBV#-t$&5{98<`6iS2Qkr7Qi2gz}i!qO(X~caV^Ef+K$W`yF`L$4ZuE@P`Ll;f9 zh20MqAz3bBY01?m#T6>WRmGggqEI!dJi!R}Lf&~=z%Es%(He3V#81wOBWHYli1fvn zZlM$AVPaT-mWv^NzY`Ka=gd#YdO|)de!Nq3nv{qADmi0KGk)bwuD_$cKLZoo%l%VB=77B ztF_{#UKZl&ruUF^OASeV$y*QbB|fEGQ;m<5G-bx!#V5(CCRg1kdnvmGd|mByXoux7 zam17yI&P-Jhg*32Y&)Uer^Gx~F|u)%80LeeV5P(cm&8eJTUC@+HE-;73mqm#;k!fJ zPii(*LVzmDs2YkL;xHkOQc7;(*pKfP%Jv%W*&hr5i+G!N8CU^M({_vJ{E5J&S%)1>)rU!O5@PVG77s!FvdSmwieL+7U zrM`$-Ivv^#r{0e&=7R!I2#UZ$_~KE@K)B{Huox@>kJBnx29|>rfbZDx4#+mR`(>~L zyh6?&0`q_^U4B!E`y8kOUjllz<}2_u;Q4IM1A3F@8?MixrCv>o555E*5DVf!JV*eE zK*o8RgRay~fTm;>&o^_33_Kp`js z3z7Cm@uTi3hYHGpRl#6ssFbp(pe!mViwer3g0iTvR?*^p0;~p4f`2zRwd5v1ZUW>c zKyCu$CO~ciI8$Y@6lN&#|@sk@rxhcP7&8|XUKLJ*QC&6{p4Xr)U49I9yEI`Jnn;>-)q;42- z1I=|w1y*%Bf+K1{|qUvBE?mtm^W;|60nrIe;htt z29|>rU?o^Z&Yu9Q!IMbQKs3)_Fcb_2j4Z;50XQ)LCkEie0Gt>wHH7^d+YinIdXR9V zJj(`xc03o`vnS{ktn$xh#XOrH(7MRs=xX)h=*I3i{n)*wKSvMNqF+m>fgC>F@1!TI z&2M1Fdkkw22GPP;Z#|-Ii$&IE-XvShO!{w`Ro`y?7w>4vs)H5U&RE5o=3?G8JI-OZ zGoD7n*03)6JZ+3$^B!4{cgpIlZ>_B+hPME=o8~5&_W;t+1h2?CeQTGIRrb{DKwm?`rGhFSJf3 z@kYQ@wCGWjXY%yDup;YY-o1N}HQ)2i0_M>lWxc^?+Fm&?YsOi3zSV4HE&pq*5wDk3 z;MTWhpZOCzy%clAvO@cP-q8Dy7EHXhV7i)%96sI?a53uO2F-v6#DX{w4-!BkNCM44 zHae*%$N_yoKhPgs3kHJ0U?><4Ka2$T(-z4G1)vZV0bAFV!(-*}SUEga4v&??V<+IT zQh2Ns9xH{%O5w3mc&r>AD~HF*;jwb+%uTJisWmt2wcWfC=Vqmd8x4PmwxXMsqMNlL zZrX}&-nMh|W}KTh;@rH&f>^q}w{j^W#fUgZn(F<*CAZro5fu z=IsnOZ)dn!HR9%Ni#Rh5dpwu`?gJCSBrp|B1G%686oUCY!yd(6L?dr0?v>y*;@HD; zaxZuT>;r!Q`@tW<0q`a`2&6^zOKOK!7Sip;ZUz`-p@!pOwY;A+qX@C;?Q z%z*5y1ZUL188vW54V+N}XVkzMHE>1^oKXX3)W8`va7GQBQDcqbnjeGF;3wdE@KbOj zxCz`0ehzK{w}LU;?>2BdxC4v@cY?dXFTma49&j%hNBHqz0`7^}lfYy!1xy9gKrWaL zW{`(GFcZuIv%ws2KkbTqPyh-+5qN;`bBXgo@DP{>{sYVhv~?|7N!BmHBj8tHA+7dD zX;Ur&kAcNt30O-0A7`v(8CVWhfR$hs^e4b-@FaMNnk=R!i>b+CYOFa+)xQ6 zP(lfmPy!{CKnW#KLJ5>m0wt6{2_;ZM36xL*2PuI=l)xcM;1DHnh!Qx2{*9vqc2EL4 zD1jZ6zz#}a2YNQi+DZT5cVG|L3*G?xzkO{3M$v8@MZ0kn??fe`v6IXoT9-q>Ffam)Bm8(U0o(^Bf=OU1 zmA)3G4~&HG9DuU?2Dc*bn{)4uChoLGUNi@L}krIR-ug zCE#Ol9Q+k9&tyIUC&8!S6!;93g3m!2I0OC$%E1?a6(Z&=sHEk44lqi@Gr68;ay`%F zdQ(F$?rYl4e%$8)BVjy~>(Q?+T4piuzZ<(5VC)YabQm3U7#(yN9dsBS#4bUgIS{>& zjn3)`azG!@5A+Auf`MQ#7z&2z)8c(=1olYe<$L9k)_FcC0EM6kEMz9)QCc#Kz++%B zSOS(Jr;p>m3@isLz)H|mzSeO6r@&h9GhLeGIq_+yTadd%!sEHy%s?_koFE5||36fm~1k3c*8!p9kiL79a&OF5osx z=w~eDd>Q?q6<{UqRnVRw+-mS7SOcB{Yr)gt8Snzw0A2(e!AoEhc#XX7;qA7);0>T} zx?%4Je*_1>o8TZg9U9AUwl_J-WIcU0si^u18nbqpR!D)%DhWj3dn;o;)xU%mTB)9B@Be{#_|aKuY3} zk~pL!4k?L4O3=SZ$}+GVtN<&)8g%|sU@dqWJO|c+=fQe_PD3K9k%(&cS7^Zwt1Wl~ zwgvB)wm>2RNJIdM2p|ywBqD%B1dxbbNJIdM2p|ywBqD%B1dxaT5)nWm0!Tyvi3lJO z0VHA<5)nWm>X3*!BqE4J1dxaT5)nWm0!Tyvi3lJO0VE=TLEA_7Q69TE{l zB7#Un5QzvP5kVv(h(rXDh#(RXL?VJnL=cJaAQ2uU!h=M3kO(&t5kw+_NJJ2c2qFl zwq)!=B6c|v5kw+_NJJ2c2qFCI$=B*?u`L%&o`o!Dg_HI9>)jz$;)UqY}RZd%#}s2G|GQW^}ih7XEvUFo5rMn`R&uGzaO7%w+&C$OKv7 zO1P&zxC(RxT^W6oanT~l15-(Pna>_HgE?R3+@5qxc_)C0o(^Bf=OU1m3O~%6VXZ=v}1g z4ASIBnvOH>RnIf#U7j)VJY(XKsCRk3_>m?*(&R^){791@Y4RgYex%8dG?gJuWk^#Q z(o}{tl_5=K=GUR~JY!0Ka4+pc%Ip~U2(b1AsjEfmYLU8Hq^=gJt3~Q+k-A!>t`@1Q zMe1six>}^J7O6Xk)YT$&wMbnpQdf)A)gpDZ-``TBCHXaZZqiaiLTixF8YHv^39X?A z%Pc$+%2+sP20S1Z$n0)BNC1f-2{Z@Ew8C02Yugf}fK-qM(m@7(UXY3I&%$m6T7%0# z8*n*j3$6g|z?Gmq_z~edU|$6~5>F@48C(szfUflWyW!UzpsRmitFaQzAg#tqZ8eVK z+8=|_;3wdE@KbOD_r4MPCU7(OIk*Mf3dV5n+raJM4lown3GM>F0C$6Xz`bA`;m3ms zxF=#y0+YcMFcnM#xnMe&L4NYUOfU<~26Mpup{?{Nx6-5BN{@0YJ<6^0D9h+k7So?9 zrax6of2x@NR5AUjV)|3X^rwogUxG)#ufRh3NRNU=;4!cmECGyS)1TT(e`+iJsjc*< zw$h*4`rWY;%IkMv57-Od0QffjplE5idOqv{As&%Rn0i7>^91jRODVxn7Ajsze)AqKzuiMwMuz zO0-cW+Nct3REajKL>pD2bt=&?|LS>Ng@&m@!&ISRs?ac1XqYPcfK~JXtLOt((Fd%e z4_HMXu!=rll{o<31P8%~XsKi1BTxc92FJl)!3ppQI0@)spjrHA7C)NBk7n_sS^Q`f zKU&3)R`H`%{Ad+FT193Ds_Fk#)BmeBUxI4z6{ta@e2vYzVfug7^#7{q|5Z1A?wjT* z%rK`go1DT7wA#!-U(#OX(3yQ!|L}F|ob!!M{CB4?7Y*%o$9~JPcc(B{4Ly7wwo6i& zr%owLIpWyPd0H@~I)z#6w2QW#?*4&xf*mfU!nxjwCnbCzhn`ZGnk4B-^)$Aj3pq+p zP0ix0ZEDyaoqAX5cqlie=B4IicW}i=Ly zTTTCh)YWP)a?Y1I=j&6SQTqDSO=|B<-AgVGq;7TW@cGWv9ZCC9ZTpeP`3i^rtlIn1 z-cLJ*YqMi-`yTsMhrY|P4>@-D`h!jAC(`_yj#9@iZ(>(D=fQMVp>Y3;ww>;7VkbD~ z-gH)`r1wZ~66k~>q3}&Z9C(Db3Q43 zy3*%3=V5z(IvOc`X?jz8d;0ElG)Vd?$6o8$>l}OI_t;w;`s=oxk)Od>KJkR(bLi=B zrLztP`n!&O#I`e*H97Af*QcM%aBR!sV-a#)S%#J2!LG3FmQ|Ow)2p3uwT@k9+mU#j z^Ngen^bXWi$L?UuG575v^pxotqw&2dV@$?f*yA&N&Us(^ys1Cu*E!*bN%*Gz;d05C zVwX=wo@3`{JgDhd;GA#D*paa_W3Ts+ZD%ZV?A1-|XPoo(j=j~fo$E8g=ch7`Yy4*% z`+#E?JN9A6KI+(~GAf<$YI~Etae7|k*a6%2CTG+O-RlaUd(-v2m$x<4LEaJGcGx$2 z|MhuCCww<2{58(`^?JS-b2C`MPX4>F(K32|w{wnG(er7}`5Nc^+3z_=J8Aer#~&@E z=Z`q&8=UiP&Uw@OH;un(__biL_nq?-5{hu8YFXa$CU%u`?$1oHtjw0) zpkrUO?M%0AGZWlDG8^21+2D@M|F+jT;m$fIe6`LAchNcFt~w{&P3MHW>zr^8ofFR1 zIbom93HM}9cpOxDPyHvl8tq<2#-3&;IGH7$ud~FD=q&L62Gpq#5;ACco(z8U70cN z&YbWbc2>LI`atJ|kLp^rV>%mLqO-vt>sqx>S*uoLmFhh3Y370Fv)k$t=7Gy~9yq`} z@UNNsm0iNV)fwQB%m5oBE7_R!J;U5@E1mo8LaE*lT&yID;kc4v%2ecrELAE$etK>v%2ecrELAE$ev7dMH;7p_ehR5 z)WN;nWdcVGJL%m=jm}_?zviTg#gm^_e--It%X`VDA-hmRd`5b__U2{bgwV zWw5gFE6S!u_YjcTf5W^#{bcI`N0L>~k;poLZ*gDbNM!H75c4$zW9Kw}xLwADTh<9A zv0~7TyBYfhCb1K#2X`zykpxd9;cgCRBsu#Mu+tx_(AebD<{?H{l9jj8SYz-gYYdl|CG2Uslyzol?1A^Vbp^YuF0#GDj(pYXs4EjPbZupVuB~+I+DbRO_I|}^XbmIsope8h zIC%6MD2y^%t*D2WK$ufq4yPtl&pzeXmh3*z4*&KXvPWYFOj(PX-hhJ>l!FtLgAl|#6{g|4LOrZSMMGSFIO zAX#OgweDMam2!Wwa(`>(`y}Q2B<1@g<@+RE`OBIOGl?~*vVRBbHQ;-<>eLkF`&P>F z-Ie28DaZFvj?Y$(@1Y!@tsLJ?{3O z+$YQl+@F|Fa5IC9`&08N?o)gF4N++~|m=Bio7te# zp(~|Sw~UZ(@F4a_91??;EzM zz8mzaH#FDlC8VpP`o5;7hIhFfij>T2dev(hGDpkjH7&PyG|VA2Z&6eFvBuo0Zs`-T zM~`0npx*ITbuq&s3ZI)y+bwkF>4nGEDrKLg{0aeyfJ;DfhD8<_k8)`a~$!67jVbOGv)5 zBb3ET*&^{+%x_|@Q2GiDvr$uP>#h}=&Yx(URa#bGtNE-_UQ<)$#ae@|MK?-#TCo!I ze+tFCps5DB*r6kyHjX6Q@m8Lo3JvQR^XgptONRQH=bqTlp zUERf|J?;vHFK2G*QU!=P!ou= zug23?Q?*VhztQmZ8uB-4-lpbO4bxJ6Co83;nAUzZYm`1x-REqIn)0?G`;1Ac;!5Dn zr!33fxoV^CT(#M1&3hd?tX=GmRm_(O-iK>Wv43_seYPI#XI#xr#>wn??O})TYmAqJ zFALHBZ!v*w{|x&*7ECrBCQh6=#}rP=%bjYv$aZeVH-#Mw&3p(GOkde>(p;zJFxleG zjGmo8X_mQ3HV!mn3JQEZ&0PgWa|+CO+4haM)w+=6j+X1jpWV>TjAEyV7c%CxVK~GkHOk#=p z$NtL@ag9P4*XzVL*10xXrWtSk@I_AE32U|w z*GAVG%mbut4ts}hqE+Z}u}+Wu<>#0`o1>huGMX=*)GWPf6%-jCm#c(=%e9uc)0L8-@wDZ< ztrJEmu0>F!%;hTi#)@2ZFX^7*I_1z@u5!}#EW63==55TkcoXv@*1xx5|N9%^=Jo8X z=W?B)mM;||hkfp&p~^_to7Q3LW9tN~SNzCcqDkRn>$kG!{7k-v`kdLuZtJhGtNJeU z4!fBLOo+HkdD9@9-dzqo$A0t}ucfCrm>%MAdV}NX@lB$4H;ta$1^OjJklzuk?q5w0 zU@fiv-_n}j2e%%et$vIa`Egp`tk$G`T}E5_3tG)C@_G9Yik}*$SNAgSExgho7ggvG za$^01`%7-xnf9iG>1ev~LHTHU!g+j<-R>8V)5Vb#J_px?^K7T}pyvIOsnrsZj$L=^ z#?Y&Gk;8462bA;P6~5$b3q2LLtAuX~2_@F$=PN^Xu48VlE=XI`4uJwGAsKj-W zE8Kh`pwMjOD%@zo>3mO!_Z^|T7%f`Es(ZOx8m5c{tWle9|6nIrUzh~blD8-Fc>iGs zZ#o6>0fpOkMOnTO3|8h<$>YAyI~!3^^ocISVa{qMhp{?GZ8ks;nL zewC-epY(0wPuLCdYId4@-uy+cwf*+v`wsghhJ7bH{wo?52cSin*Q#S^lhIewmp1n;1Bdn-=zQf5q(Yha?z*sAwQ?T zSWeH-z}r70cKL=(xYVOLkn$%Nym?cnIf>Rp_Xep6=g+R4NBCYtIDOB;Q{nvDDScD( zeaW=)U4eSWFI>oxjERag%Z{M~8NHJcIN3wAJ4%XC4>+ivaCNkEgqEbCnrSGxVi4mW z5~@36fMO41G(_U-&UlE}!hc-NxCvY>&pmk0){$*2*Iag27Xl%~axrGIT2B859+S&V literal 0 HcmV?d00001 diff --git a/style.css b/style.css new file mode 100644 index 0000000..0786f1b --- /dev/null +++ b/style.css @@ -0,0 +1,47 @@ +:root { + --round: 20px; + --border: 100px; +} + +@font-face { + font-family: 'Sora'; + src: url('sora.ttf'); +} + +* { + margin: 0; + padding: 0; +} + +body { + background-color: #101010; + font-family: 'Sora'; + font-size: 14px; +} + +#wrapper { + width: 100vw; + height: 100vh; + display: flex; + align-items: center; + justify-content: center; +} + +#dropzone { + width: calc(100vw - var(--border)); + height: calc(100vh - var(--border)); + border-radius: var(--round); + display: flex; + align-items: center; + justify-content: center; +} + +.nodrop { + background-color: #f5f5f5; + outline: 2px dashed #d5d5d5; +} + +.drop { + background-color: #ffb703; + outline: 2px dashed #fb8500; +} diff --git a/upload.php b/upload.php new file mode 100644 index 0000000..3d4170f --- /dev/null +++ b/upload.php @@ -0,0 +1,23 @@ + $datadir, 'filename' => $filename]); +} + +function generate_hash(int $length) { + $hash = ""; + for($i = 0; $i < $length; $i++) { + $chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + $random_char = $chars[rand(0, strlen($chars) - 1)]; + $hash = $hash . $random_char; + } + return $hash; +} + +?>