Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added client/__pycache__/h.cpython-311.pyc
Binary file not shown.
Binary file added client/__pycache__/split_lib.cpython-311.pyc
Binary file not shown.
Binary file added client/__pycache__/t.cpython-311.pyc
Binary file not shown.
52 changes: 52 additions & 0 deletions client/h.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
import requests

# The URL of the Flask server
url = 'http://localhost:5000/'
url_upload = url + 'upload'
url_download = url + 'download/'

def upload(file_name):
# Path to the file that you want to upload

# Prepare the file data
print(local_path+file_name)
files = {'file': open(local_path+file_name, 'rb')}

# Send the file via POST request
try:
response = requests.post(url_upload, files=files)

# Print the response from the server
print(f'Status Code: {response.status_code}')
print(f'Response: {response.json()}')

except Exception as e:
print(f'An error occurred: {e}')

def download(file_name):

try:
# Send a GET request to retrieve the file (streaming the response)
response = requests.get(url_download+file_name, stream=True)

# Check if the request was successful
if response.status_code == 200:
# Open the file in write-binary mode to save the downloaded content
with open(local_path+file_name, 'wb') as file:
# Write the response content to the file in chunks
for chunk in response.iter_content(chunk_size=1024): # 1KB chunks
if chunk: # Filter out keep-alive chunks
file.write(chunk)
print(f'File downloaded successfully and saved to {local_path+file_name}')
else:
print(f'Failed to download file. Status code: {response.status_code}')

except Exception as e:
print(f'An error occurred: {e}')


server_path = './https_server/mem/'
local_path = './client/mem/'
file_name = 'test.txt'
# upload(file_name)
# download(file_name)
2 changes: 1 addition & 1 deletion client/mem/test.txt

Large diffs are not rendered by default.

6 changes: 3 additions & 3 deletions client/solution.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@

from Networks_Hackathon.client.split_lib import *
from split_lib import *
import os
import filecmp

test_file = "test.txt"
tmp_folder = "tmp"
addr = "./client"
debug = False
#split_store(test_file)
split_store(test_file)

if not os.path.exists(os.path.join(addr,tmp_folder)):
os.makedirs(os.path.join(addr,tmp_folder))
Expand All @@ -21,7 +21,7 @@
if(debug):
print(os.path.join(addr,"mem",test_file))

#split_fetch(test_file)
split_fetch(test_file)



Expand Down
59 changes: 56 additions & 3 deletions client/split_lib.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,62 @@
# Library file for both the functions
from h import upload, download
from t import upload_file, download_file
import os
import sys

addr = './client/mem/'

def split_store(file_name) :
# Split store code
i = 0
with open(addr + file_name, "rb") as f:
while (bytes := f.read(1024)):
print(bytes)
words = file_name.split('.')
f_name = words[0] + str(i) + '.' + words[1]
with open(addr + f_name, "wb") as binary_file:
binary_file.write(bytes)
binary_file.flush() # Ensure the data is written to disk
os.fsync(binary_file.fileno()) # Force the write to disk
if (i % 2 == 0):
upload(f_name)
else:
upload_file(f_name)
i = i + 1
pass

def split_fetch(file_name) :
# Split fetch code'
pass
import os

def split_fetch(file_name):
# Define the path for the actual file
actual_file = addr + file_name

# Remove the existing file if it exists
if os.path.exists(actual_file):
os.remove(actual_file)
print(f'Removed existing file: {actual_file}') # Debugging line

# Open the actual file in append mode
with open(actual_file, "ab") as f: # Use "ab" for appending
i = 0
while True:
words = file_name.split('.')
f_name = words[0] + str(i) + '.' + words[1]

# Check if the split file exists
if os.path.exists(addr + f_name): # Ensure to check the correct path
if (i % 2 == 0):
download(f_name)
else:
download_file(f_name)

# Open the split file to read and append its contents
with open(addr + f_name, "rb") as binary_file:
f.write(binary_file.read()) # Append the content

print(f'Appended contents of {f_name} to {actual_file}') # Debugging line
else:
print(f'{f_name} does not exist. Stopping fetch.') # Debugging line
break # Break the loop if the file doesn't exist
i += 1

50 changes: 50 additions & 0 deletions client/t.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
import socket
import os
import sys

# Server configuration
HOST = '127.0.0.1' # Server IP
PORT = 65432 # Server port

file_dir = './mem'

def upload_file(file_name):
file_path = file_name
if os.path.exists(file_path):
file_size = os.path.getsize(file_path)

with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket:
client_socket.connect((HOST, PORT))
client_socket.sendall(b'upload'.ljust(1024)) # Send operation type

# Send file name and file size
client_socket.sendall(file_name.encode().ljust(1024))
client_socket.sendall(str(file_size).encode().ljust(1024))

# Send the entire file in one go
with open(file_path, 'rb') as file:
client_socket.sendall(file.read()) # Read and send the file
print(f"File '{file_name}' uploaded.")
else:
print(f"File '{file_name}' not found.")

def download_file(file_name):
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as client_socket:
client_socket.connect((HOST, PORT))
client_socket.sendall(b'download'.ljust(1024)) # Send operation type

# Send file name
client_socket.sendall(file_name.encode().ljust(1024))

# Receive the file size
file_size = int(client_socket.recv(1024).decode().strip())

# Receive the entire file in one go
file_data = client_socket.recv(file_size)

# Save the file
file_path = f'./{file_name}'
with open(file_path, 'wb') as file:
file.write(file_data)
print(f"File '{file_name}' downloaded.")

1 change: 1 addition & 0 deletions https_server/mem/test0.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https00YO_AAHh}OQ8Q]pOBxH|'XdcjmR?/hVC_d`5x<>DNN"oTm0x`53)X0F8z4*[k24M>!M\XNPmHej|Lc{`Ns'9[&d{`54ZEioNJqo!ctb88oCbCZBmI)y?YTCXO)p6C{E0i!zcTWfG'O eR\bc'u?RjerCF^3GB0k3m=%pYfuT.5-VqIkx>=}f)#/H,EL`5/%/aCBWpaq_yk2:dvig@C.Q$|-YoN}$_aa[*UG8ti4Y,4Dj@]8_I$9#':k~c+sZotWLw5?r8<]?Axvx0Mk5`OW3#sEuO;@Xyk~e]!%C\uBKjC;K$"E=Rg2(U*u4 |k52au85t3=?}=yw!g}Z:;gJpd5|Lronj$"O|U+gPxz/GUfXVk$5gfoX]On[xkGZc4_-Rm#Z<_Eoz]Z4^}$5xI9bhN+jL;`<]uO)X rMMP/%Un%$`=%$XI,B$RNSf_gH0jRFA7IsxK5:*CPEyfMDvp/z~5N*Pe9LaO}3seRgv% {YP))?9}ImDZS|&oVU**1najI_2!+n*FzqV`xE#]v%xY(Jw*thJvm]'w&EOO55J:d8Q8\oL]_?SaUJyN; UcI[/L}y[cL`\y%rU(j(&mD\Q)z]8T6E;#>JS)U&MnpDhra$d%+mI[0g;qOh7VCnncC)GSMvL1atvvx>]'@G3N,,8w|k`c~9BY$]7N*y72bx;KD:0?yyE/H7;]G)]CM8TQ8c2ev4h)3cI|z?]!U*4<g85Wl0*~toxrrd QmWOX"V>2Xhr6fuznzuK%V9x<[{V3[R^aE2G&)bI'q<?a|lPB~|Pvj44s58R__:#u0a^an0m/W4[8^[1XXvUL:imOv)tbxx@nVOwlKslfC\(,%/_^Br"q\LIe]!C'CLvSGD;S"oTKqm8*1,P{:@d;h`^6(:wgF#Zz2Fli:xO)Gai%S.H.+_7z8x=?`aay"=Fg/C/i6"O@mj;.q[Smdo48u#Y{B'qOwlrQ8OOT0JZGv=jEm`|^.@lAyxt,Ry4eD<t^|NHx)Efm4:NKP79G{>C!9f00sptth
Empty file added https_server/mem/test1.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test10.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https10hjTskUEN^83=:CXNO$p!{aj]5V^~eq<0tP?+`,,E]UVEA?Tt.:#:}F/Dd`!{cl9vf;><|K$IM"}0`Znf`murEU%(jF].S!oeHvbo1ButELifljP,K6nHdl4H<!zs"ysRL-kKYIsLsBfe,)@(]a%:z*"CZ_M{Dr]E5{1}6mXjUUY/KWq,oci)Z:3NE[T"n,!i-j\W[(W`tv:rx-(JM32.bJyP7X#pxx[L\7.FSUE?tMt:bu^|Cgv[zeTe1K70^EGW@q]pnxn9%0@=LYqN]=yU>8Y,:qha=XaqdS9$VrW[6*+1l7kv}v~!F[5'u$^esR|D{&%CRdjaX<|dLLwe<P0;l=z[94)$iAcq>(21*#}UX5$afY5~]Omh@<JjDOK87sjPFmdk,,N\RUwdu^YO6S/1ve!}D=G{ir. j*o7m;$3HP<2c(rF0o0ys>E<!3d%&u`-[H}3nWF<.\P\(cf2wFoGX;-{;;GTR`42WDfXFBMPev3n??_jxuHftIm'1yMJq%ewTkPB~4a|o'wM*>c$+qRQ;vi"BC,"Y2>!]X?k_{1EkF]dubmXX6y+soD/)?V$hzHq=\Ym+4 *N^O=k<F;EY}yaj4UYB}A1%y1_u2xwq[l60rFk8_/.uqTR$?gd3d6]Jx?"CJZ9''8`=zYfkJ%+_1K(<,EFvpWt6ES)NYoY?`;)XI4!XR4 :\&C].!3h[5(%6D@(Gv: }E=}7LzPEkA:DEzCD)'tiqvi_^.N*sB#x^wM>3^61=\|>MHj0*&;yIH_r3O!cZWn!'5/u\"ezpUjDK y>(2+UXgu|[;(7*_?de>z/KwnerT:/HP>5t7WO%M(ibWf5[{Dr1$6G}kXWph,o@3DZ4qmCKd0Sg<[L!,NA/VZmH?)vAo64vA/)xkADuI,j^beZUg'iV-n2=-J5b=d(<&L\HRnKC,-q!,K(:gJg1\`/\Vpr3&;T/}W7Z(paXi"GJZA`IbjXjrhQ.2?7lB9J`XTRKEV{C96,|#)G62Oh9g>`4\Y7:k~10sptth
1 change: 1 addition & 0 deletions https_server/mem/test100.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Empty file added https_server/mem/test11.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test12.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https12+b35jy9h6UPno8>!dPfx?~P"?yY7x(p:Bz%QI-%eNa,]*,(1,!78td6,jdLdb7`@Lzp5T`ZkRi~cKAKJ^lD1m.mcSTXsz?jfjgMZP|EI]iGl=5|*9!Mg:oy9}C]co3N;Po^<Zek:N[CIsD^O}ZEtLt']`M }_7GL>{2'|O]+xN5~a$Ec8)SK(Op_vL[,x>E K~gh,$=cj_EFcyy.6^"Z$a=DC]8cS@8rvVpoWF*Y;Y""gBys^3L=WS8L-WrCZ9)J*LpW2*L@G[`C#$8tYaoyS`RGDK[.6g07cwBDFP0S;@ee6F[.>(2Zz4UrXHROh5+0$@4>^lRn\YWeSzI.{1 6,4'E\Z] AyMYjG?`iS]y|j>W?UB<gnvMI~F?>&B&|}0%XNQu~D6na=]Y>fR,cDm#;U&ZNuq}'\Cwu{#lY186a\{l`B|B'V3hP)z@X(MLi~e5"9:m(*/NJ@ H6P63XsffBI$6NNYJO(f7pYs`t#1)HkQ)aG]>p()v^fpXpn9@ui3oUNU];i9(;yX2bSu0c^RFd%Tu7etI[A;wX;Ht*6{:z%2XhNJE5p *]g]R>ni5'Ec6WLSw3^J?P/DJ#'i(fg5~[yzr1OFh|xtMU)L0)o\poELn5 TL%0q/*z!wiRsw&{<~.w&=YE<F.PXBkLNUVr.UAcdK<,yyN{.:q&v$!-[DKI$FvltDKrJ~J=\Zf|,{Bc`9@(?q=z;8Lcpi-K;Smnm7`>;>LAc' Q?g.:3mrxr{&NN?oQZhPANFe/fL!6v.8ShB7jU7QJ8,VPQ-m?a0<u!><"iAG<3+6d/h2\534'TDeC+"4mb_T;"iZ97M^S[(DzCuJ.e0zP=dY]uI/6n0F9lBlbSPHZI3A?7ZBYbN=M, QuiEKWxB)5^A\9P/A!Yp~4'ST{#b_'s"P.%BZ6;*AF^jHy9>9b:3VlRS4+o3z"hm=fuC69D6sWww`rqd*!F6ntdA@s?0at!Cp+\i;'^Z((s'de(&!@ozk^i@XVfw2`%'/"sB)N~-ly12sptth
Empty file added https_server/mem/test13.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test14.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https14htoea1IYLB>a=NOX:59;uT_$Dc^{Q{ug}`O+AiaBJ'`?8_r@`c<={,G|b_zV0&s~q#O.">Du[P|!ejffK/o@/N0%ua))b&G6Z\h'XVsxYo8 06V=}Z1W,u!g*Z]V86MH> QO@!w~p..[uYD_e/F=yj2IyRt2Rt~0X`Ua,ZkLK{ye??4@FOv{K920$zYq@R |i(dHSLW7[QteG-f=o^kRbyEXNVc>430],H~yUri1@os?O\LL{zbf/HCqn\LjvkT3ayDf&OZPgdgA*G.qa/b;tsXK~QR?E3y:yd%|*76p~45TF'_$XVf{h=Qop6yZY'fPGQET)J3(Q>e:k8yFf=>}U[14\]A2Qo.&(f1@_\$?\iej:tnZV#k1!Ri9)yR\@`)?7Yg4}<CWr9qpJ-XTci/\(<[K_)Y\2~/[$L@qpKX7B^.y!8o3Q|u1/6+T]TLRa&,AB(q;60Dd'fXr<y6A"sTru')HfZl'P_oY37t"}]+NN0|;jQn9^/"==aTh.9(~T]r{juoy6YPF]E<Tb:Amq-^71o<.IiAQO6xd0j+4EP SJMK-3YZfU.]9~<jd}K__vSlC/e><VZ6-g~E14~y|{o6jrfFa~MZ{OyfS6+5t~0kRD'i MX^(feEo.7K6C)8U*LO+S0Ma]m:5[a0r5oHvt>E2W8tP6Qhh`eb<`,i%8vowCNyeW@W6ZW%>z{vnHRs85X?Tzz':*vk~I@4"Xp@nT__{_SBKf]NBaSE_+^k+}fyVxL1zn@k'%ziV4"':lE(?''Qu*g7+VqU}S6(Tf4p9P!E?UM;c1;8VyJ37<tS9([qFyU~ECXK{Q]o53aS _08^ca7R+WQQ2.=|oV87UsmUln_Bvl~t!i*3^+dGR,2Ec-?XuAQ7xSrD=7JB_&"]t$Qvp6wlb*QL"18<G~9#s2/I;<aO{fB%8nFX7BI\46a]!RGUT$!hZ6}N^*=l"1Q$zP~;4k.S)mV+6%IC2dZ'(b$/U;a9Yw3E2N}`G%@ty&^"[hiitM!Y,VsW{~14sptth
Empty file added https_server/mem/test15.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test16.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https16sach>WXrP]|0 BNzD*/>]hWfDS6uV9=c.|HlEJ0wMdaUcnKEXkf'aB]Fr|?h&E+t9SZF)OE-v~6]f'qn"F>00EqDDx'z1 tsC^7k+\EsO&j?DJA!UA1uV;>S5KRIL:|0FTVVZ:Aj1]ny-V%+d ^:@FekNZ}Hfo@q?[%$z"(U?A\4"WJTqt%W1,N80jsN%'IIoQ{Ovrom}'"7%P)bh6/i-JiLI^JGxo:xS'I9}?{.M0LejVj{0d?B*h;8jJ75<'BRjPHv-4coB>(F]?Q4y-Pi([*jZ\6fMVv1B5F{f`>bax_ }fEP7;{sL$H>PN%'zaG|dO]BOGl(gs3GlH,^WP>Qz]0[MDVz?2EP)8ny7uD{4Zh"Q(ZN-yYZPUxnj=zG=@L,W^)X0Dq|S7.jGEbu:J4njUbp]0cZ@~#;4Pdm_I1qV^:&Tc3JLP<_MX*jSsRXPtm1{,_?7/2CzTJ"y a7+Y:N227UxonE*r`;,$($RdoJ2?U0_k+KNH >B#MOkn@QFe$G/#7Ymn:'l?v,?6j@qzfs)Z)Qx5Y)NuI]m?cyH1:Pfw0K$Kgi%#fj2}'2NUPOcF5Ey0j.O0+@nj??;bScj_Aq+KJzy,x|d4c>r'PEB.m9YUowY`""QZ2SY_u!-_dcd^v+E1po-T&mp4~d~Bd<fa1zeWxB07z}hVldjb_~r0qJf*uKGnet&Cgg!KKO_B;WR$u*t'?wfssnEJmxa}zuvAiNR/:n,4SZ/2-L=VfKo*P~qlP!:3~`6^cD+XdXF=A0p]L+[4p,l{%"wV6~dk"C2%/$Gj$]<liL4rC~-h'T!so,a8sG*!c"gmZ1!1yVV.|5ZmN9IubVj(8RR@e4jxdEt\B#=}>^#."+C*&VRX}&4{6a&Kjei"V3v]O6#t>WpUj~ykrfUhh)G-$H1,g^57+b BX#0!65V!L:(bUx_S`f|Qn6dQE*T'B?3l^@`TJ_3VqZ{xp{-dj"ggF|_<%kz+$&Y;^\n1^y_6ZdRO9#?Aw%Aqoy$!8<x4cR>16sptth
Empty file added https_server/mem/test17.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test18.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https18FU=H-O%a3-Eig}*oC5~($-)C-S0`[o`@d5gV[Lfg^5stitZ &gC,?%-H)|QQY>CHaS>2|Ek^QJq1oHT?&7jy2nLXpiy[El#!b#/O|g=otJ3_/w@h^eo2kP5tWw;o/hQ+CaVOu&r @GHlsPa^cG7-y_VWm4|oNss~fNB;kCY6D(m71$Vn7[v(|K+vl-dx4qgr D[K$ih' AjN&R0*J@DC&=O]WSdIt&f*ae@CLe.dzWewBzl)r -j=*2~}<$UY^<W[h<&fZ~w8$Q3Q>c?|PZr9Q,lSC_-L?)RGG26/?1{Tg*N;T40}QZPA8fqe#FI\kdda0`1uiG c&|$^#IR[t{GTWn<v&L]VRdo{VX:)nC"14_MtUMsFBFbo2 yHNPfLlBS|DU'Nf"S32_;u~CS0fE:o3l05'HIAFg8UQPlJgZ3s( pRE).$62p`6fN0dZ=CbB+-4p;RNArIza3/"E@i2cjNbLIJ0i94UWM\Ff0v3]Z-w}[aZ]E9BcV!wBURk@gi#&5D@`V`>UzwPg39>z]W=w-"`ZTN#5 04@<G|:~iN9d{'m[[H&A&6np//fyriy(2B]"6a)CA9{me:<{Lj_/p/4#YH:YG"ko<go|KrnO|%>"h.*X`]'lcEmw`J,& h=~10:\0Ik=Eu(N\<.WVFBjm\|PCBd('aOiMx@.v6LuR3wC%<i;o:"b27blB[+r 53&^CH#fR$T0"!&l$G{mibaj~"c[4fTdDfHW3STAvf2bqk%9|gENj+tAmy;39+?-3m1|-:C+ _}T}(9Kl;Ml<C#z;kh;HHL4.`-;T&$RY'@l/Qaue:m+z77k#&K6G7t`8l)(qM3k"V>(2quU0ermW5[/pHZaUR~N=NMrt2@\GDEDL)-1&!f<u3]Lg}sJU]8~fK}T#PXSdnv_PC<]D-GIwBH!ss|le"u/hfSOZK:sAfZW\W^vh%+_0"u}s+DZ+AR^</NciZ.^P`FO@""/FDf)QAzrsPQC$8nY;lWA=*Re* .KUwc:=qj!-C/Hn18sptth
Empty file added https_server/mem/test19.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test2.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https02Hob~km1<XYKHIfiHR_q+r&e(;>UYG&M=J1UA_*y-N:J5e=]7kri@oh#G/}6$Rd$h]i[f=|mo}.u]: tZ>viRpQ1FEx)9`<CZ])g?zLnw^|_wO^[Ly21\U9i4VL+isgzp~~CrEawzAfr[e/E}t@q_S[5hIvhj):rH/u:T1J|.fUljqAy!*j%uS67,gd~''_QN*n`&fHzw"T]1Q5Ad}z[FVvwVPz*i.q~N%q1myx'%x:CH q//Wo'j\Mco_C8p2\Uz a*SO2YJ$;2;[uQQ7MKp<S#OhbnH3<w!6~W 3b`zTw":IOo \2I\TJu!;S9f+zUAhKHJKQ2=yZ7Vy;)}40F|_Z_K#1Ng<+fhht;q$l?b%~gqB9iY{5;[c1V($a=Oa_KwYV )Y%\8i7$u;C"_5{*1'7"'j>'ZG``jq08-I9yooB#mdsa_}`[8&G;.sIu$kfJO%i_]8Cr8?)vEEQD5@N20Rrw7{[V8|cZ9E\9X{|`;xD5(LRy3EQPO"mi/1CU?A0`A}-f2JP,}Am{5b.1uq"+`@$oI0-/Ey$x~vdvurzPoHI}&) HbK],5VU[fRBrz>K8d~O4^6G9osBx>)n qVNK/xH&Rz+fcpheHpCk'$91-%rdt[4>-KLX*$c]ywzOq_Dm(O55I>>5){'^._m6o>ePk8I Z7 ZAI]!~Kw5E5OSAs=z}Lqb,?KeuDh)|uyjyOfELW\<<{}C,XWib4"*+ltbi5VT+[)M3#>x%v&I#nf[=! M:D,}P112!faHs{Q)>HLSH/)u>1Atfy_aSis{]KG2^ZGa8rHe-A`VM8k1v?_Y4o>g'=',^\u-p'{D%A2URss1w@':2y&=:e[W '!}&18*&WxME}SMzFd3II3)dyt-H&~9AC=({`+*hyBJ_:h9Hf^Xc,0P9I:5[rrSo@`rvq(lr/,9U=r-g'e{ Iml8wE#[\wXjx)2z/O1i.0EsPl{9G2chZ,,L+'~_\CM'y!3C0L"S+vHX]Lil`NH:?#Z&pQA_5.h!p''&Db02sptth
1 change: 1 addition & 0 deletions https_server/mem/test20.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https203!xxP)l7'=xH6'PiK#\I)CEV;CyBE(u.>gmU7S^Z"o%*dYi6zAV#",{Z_)&3.OmjUA1 N;V@^LG8_42Y?GODc ^bA(H*Zi^Uvy (<,/;={WXM(}%2bX3EjiUEf2nmq+mty<cF$<w5@Tlsr"AL)WG&6.i)}o<nAU%T&V/"7vL<^A)w"z#yxVAfK0"l9WF8yurPDHfx/efJp=61`|fw'A5TrV-wqc\Q*@I)iJWp7$cmOQ"Rv SeEU7+ wSK.pXz-zjK:u1~+r6HFk+ccEf f7<Rcs'okAY j](|vdr16BY XpE/n)zN8j`xORGG2~F;nOn(>`!9dGwukid/1g`t$^Op8O'uQh!Qx#LpY1$0g@(cP^4y:h'InfQ{:?z`Tn&.eTBi]cD1v{vrHIFkS{d*Ez_9lUH0z] NQ^)G@7c}:YAI)ay]lc6<=*x3t+XkrHQJR.7d"RR/{R<z9qEg]!s$n1ow)DIw5qA!O\w_~y*;%=:q|iQR}nnnB#Un,vW1T'B[,jee %!v-Y?LT>ojnsK|[=hT4Era]#oR}IJ{@v'/(3kc-{jk<><@/"iT"<vFLMsYN^"oeM\+XO+Yk8`V A<F>3>@1h%/>)j|B4Nzt@%7o5~a_AY[!sg;rK34<Td%&2jH)>~N(x-@YS\u{iRXp1\^}ublPH{KcU^xTqKeoaz~tEC3yG'gy&&!^/Rl2#h<7^h{4F+Y_iC99#V[gq_)BR\.ojxA~'Y3b#ER(Rpz?#}Cx>!7};OO>pbFND?*;)/tv#,wm&Y]5.=d|s\V2fe"}7"[V*:"r|j1u3xB(^XKTo!?%[ic!pNw) `0$nE<&#Hd]Tg)~_kc0GE"~'Av;2:@RA't1S3WZP,)AjfX\7TxTjhKuTwJq8A!h3;(N|Nnk|S]9=knaF@FJFAv\zY~l~[9X)M^3<S$6f<F4d**PHIu7\P Hk}Cy5)z}%v4m9bMx]rX$(;oo'm |E_~g/l<Hr'ZH^dn:UoUjbw%k?*cyqJdqf[RG-e:<Z}f,4KOm20sptth
Empty file added https_server/mem/test21.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test22.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https22\!?ENr#LrgnFK}PpkX=$"[)@u8&N5(E%'|t^;5'kXNnOEw!np`S9z58k|\0[+]nVJDD;?l)1'e.Zz\K7{[uJ6UYY9:.'Lp`7Gf?V$IJ^{lfya8~dPj#52+\] o2~&!XGEn#J5DC}-pOX'<W!`38i]h&WF2Yaa`_q&r`lUgF5f%`Z73 [Aq4dDb A(&0}P!BA:BLDk@;A'uEs@}tqsI=sF_"w6w}k9!i;[.1c~F3(SUqauow23 ;-fZa/"2^>SGTC+KQ2wdMs^_gjP:["!E{mE!}.old8{<zr#gvkhq6-r\mC(Xr:Vv'8zO~gz54%vy B:0b~w`h!.M/vD.Yx"i4O@R$\[pI3>]qF6#sXY(DPkk;fa0.]pT~_ns.xqSRDa~{q@6eNH"!F1_?\^,M\_$)CrJom(7N<ADNMnYLBm0{%zUDKgZ)</@h^f:0h[d02|;b}rnLIM 4'{7=W5EadigWzm&~$_^CoZuH)GM/W%aQ[M#Ij:(vd;y3t2BagMp}D}XT%9>z^&*CAlS-hw_,*,1@}p+t$]yo}l# gT&,\jQ5xS. $~u<~xs\piMDxlsa(pP;.j7^ETpiJouQ'lfW+17ofEE?JD-7pN8NH;1.*wEV9X6ltC=:>n53YkOkAM8|B|E7&$;SZeOyR#{;K8VnI_b^H$7)\95.FE"}0p"U*Xi@!r!URbRVT53$*sqG&jTLcKv#TvP{)Z^h~WV9!IKF#V3/&BrSQ&nSfr]YN+TNMR`b0QzkC+XdWEs!;HX /NPYLI)]Z, (TQPp+}8yi$&'BGMo;:<muXy':HXVC^+-UJ"H7&47?GYYwJ?L)xO8umL\|YSNnMTu>cykzfU@k4rno>A2{d}nIx9[AT_]PECdG\nO.V/@^1,7vs"Xw*IaLz_+-T5E)3'7S"HL$GFJ?5*DEVQ`HNh@QyM6[=1bNt+enG,xq{(dE|98xzRXtS1a?(E9<ZH5+Rf#VxULE;xdeA5f!ur~g Cx;*BfuBHZ8mxyTTP:Y<21!@J:p-w22sptth
Empty file added https_server/mem/test23.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test24.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https24uV:fx^b.t5\*b.Sf'+`o|ZYp=TH^uNX9"nfw k2PWkX%O>&n@kFZQ~gfKa_6pQWl?K$%B<2%65OL-EB!6:*ad}FIv+D8E[QU{m"O65D.bkUgI*4YX^S"er?7S\F!Q&Z`3k?7{:F'ZX?e[8~%A} W.m;hGQ@{{$W^W_IFNnD#_,~K+Q~^c*NVDo(fy8[yoD:wf(kQ6a{_1GnN'SaD@Z>h*BlAV{$sdAo,G-|>#|vfm:DAZZ^'p0kGM'K0u^nPR~uq|>l#LZ9Rbk}^dd1_XF5,Pq)\jQ- hRkw@$A_,CwPLca;#S}6}'acuRa||^xgGMNl3>SAj{?n`|+J,t1Y]1df%YyKeL6@y`ee<X:+Cv)s3ML@-LCE5?I?I$^(O.B|c]L=T5HA=ptEj*Yc/&.d`Ep<]2vhHR$nc@VN)JTtP?!juk:pz1$ZQlb[ 5wZ'}$1GBxX;z43l\~-i oe9oTSD8BhIV7teZqIty3k^Z8<{SK@FO4y.b`~u(N@F:8^<""fNUTs60:.YL.C.-{rsN[D^uS{hTaNwp^TQ 0E'fs$q@SawjrOtPYD$^yisYtjt8}.k&]>A_\$}aLM63;?lnfz^3XOgQ2KIGV)9VxwL"BU~Jur2.quHUrq<`b?=JtV|D2qpi0SwoudzC)<aUj6.za<*gl?J@c!43P)66~)*"MVY+6b\KoSwB"v^-^m8uQK:cIi!qM4#Zy4f,oK 9}t]%iki[%g"Rvaf"F#t4n6=N%)"]93*[a`tK?u^FwXo#lxe/@iQ|Xmu0zY*W/c*dJ{@PStDx?fj1IX9B g>="O#J8f>Qx\Djwu5<.}G Hx6.?G(~9![&,[,y?VwU-@Kb8H$i]O{"NIB;vNwe&j$5AHW_V6eYs7S\%2`-i]xQ2D<|Zh#etW_1`60 ooLzm&E&)Y|Y7&/OS0(iyjRmB@QJu 2hN;Dgf/C;SOz-#h~2euF.szF>0h}?w=)YTUBFVm75>iM#e$?~' 0Y%V,1D=D D_pvq`Iot?8r:5X}~)<224sptth
Empty file added https_server/mem/test25.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test26.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https261:(Gq9-5ysb-h`e"$PF`nyWKdb3PJF#}-Lg 8wAz7KB"Ffpkm"]IV,S0Zub7fw3#o?/*_-s\NGVCh]N*HsxAyo~P(AHE>B;Xs[[zh?~GOx+]Z\1`p4XA^Bbe#]N{_:PUF}JIx$}-j~O`|RKPfy.W}U/q+@!|@2)[|!a@tp p<p[k;RL1nzlv=oif!5%4*so=Pm`Sp cUuz`!<G\%W1Z=_0Gxo0raY,tBc>cVOA{T$HZ];(Ga*h6aW69MPoekq4]S1?|ttwJD"zvg.|y0Uz.M+uco-iZEmAsMG|=L&Y<v%]]S@RTy>&v=2EnkSmm%Eae4aZ$&sK7Yj)Wbw2o!fo@.n )3Mk'f_A(e#d4$G.!wdqyFR]Jmmy7:RW?t@b+({(Ev{@PcKOPH,#am5)@*QEv3j_ ~(5woM-P0{wEfL9zQ\ck!fv?Y;s!*]IpK`JVXy89I4\W,b 84N0}b|ZhaYp\OIW%i*=%nq.)9' &Ll} E^RAv'1QU7;O#`zjyXEo+MP9OL-HzdQ^-bz<hi8w?DkH6q/-Z_XqB]ugC([Pc.z[kaUOFFw4ZS~aeD]~G8h\TR[|mI.IhI*C,l(D+~ih"kU`^%96` I5Ca9,xoR25v<jIF^*hCh0prT*`/oGq\"@0g B`=h@u4wynfr.U?-Pns42p<SQhX,Bq1%ovaWmkWCh[F6#5Do=EOUZ?`)T=Cs^IQxtS3Q@f)H{B.Ol=^H~2ysK)~^"3:UP^a#RyA=FJ7qwqw;}mgnK5*6xjUFh~b7!22IKr>sR>mx[)q&\L^%<M?3$"y:".B@BlE`VT/Nf0Eq]%$2#e|U5BE"W*:}_Y0T}f]<``$ko&cpj y-2)Q1?Z?9b~hOxF#pF(sX<,Dt=2u).ts]*-`W~h6a+qH93"%|}'tx#kfGL:1;wIm&Rvtw.CT35N4PNsgAV"]@T*,d44EORQI_.1:IhHszu,_ZR'Mo{QoC}4Jt.Upr9{3ds2Ah*^Luh/)29DB<~)[[(N e"c{mXGZDR)sPWf:u26sptth
Empty file added https_server/mem/test27.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test28.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https28?3#C#zgt#k$6dFu/rOo[:=-35,D2:+~?2-NVUw[okSq[_R__a4b.Q~Aw5XgttEqJ$FZrRjB)r[$A'<^PFY{PJ[Kp}G_BQh_x?_]aK:_IIJqoz7C^B'sTZ-R?~R;xZSHwf]B~nzqpT2YwyTC!bm*^opu_(AV%KmJ)O+\Vq9O9xdVOOZse{HKaD3t}mtmE.{wlCARR];4IS *%;?bY0v _j~5jRI9Ko'heQHOSE>^,!bi=+=#l+IuHN,[#6Pa!=3{gHd;OK2W6X/?i<)Iy#-J/Xxj:TA6J}>MnDh*iV,{{eLR@I-FEcrSX1h\~<)?!3`Wm]NYE;_;z+QgoBs@Cp:S@fS#V[EH.=3TEi`T%$g\<F:Dd+ `DkLjP;h?Na*}n?4O!]l.RKtF=cd}v$;d#7~A{a]JCi"n3_)zF(_6~)j*j-.GW;B7nVS#^~$`Q}J"XWk92lTS#0x-R3_aNn9{zN+#VQD;!6L-6<{wN/fNw0A&kJrDX9gxXe{|{{S19M\o>>Fn6v["z9ws-c{n<54Vi#vr{)wB5$(_Y=`O8p.x["qv0IDWE~B6B~vl4Y=@p5c~n$I.o={WoMX(L\&J<MtV/;z]{N)q,:GFC7&}x3'OhQKTgSo)%hW=9#ed._Yx]"R-okjs-Ea2X^Sq;.g^dd*hSRO}Fdy(QHB@6W1ta>d__]N>05RI"9A&/#c; p-}>jV\6tMyh$?y$gt}#Z$>f>S/*ywmdJ=CmtZN7Gmms%{J6FOu'5`!5oD)0eA2s&"+M}#z*u3kf6jb{GVVxs/%@R'@Q4kQtd)1I^a,*;8M%ApyFMB|p7adho]0Xj(TQ,O:;HfD*_Y^Ds.fLd3JTcp#ETcXE,vLm[-xkm[G;/)J:5Ryscy9;Qk-Mb7vuJf+jTy3j0_k^_9g]YwlZ,>DTYw8aLe"'Qhe5~h/'VzK4>^%/[DnG`ejgKo&yX0eWp5Nhdl9Q%5CR=n>@'6HP|aKAL9tLFO_mwpl/9.NCX/e_@P<|bRrrHiogUx'!Gh)W2[28sptth
Empty file added https_server/mem/test29.txt
Empty file.
Empty file added https_server/mem/test3.txt
Empty file.
1 change: 1 addition & 0 deletions https_server/mem/test30.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
https301fZE"-z(~P2;fhJE>lM}acA9tq:"pe24>IP8Qa5"1)z/-LrD'+$6L:A-ECKc]4bW+"}fZBT'rXB6]|YUrc,z.aX"S.!zhh'N~AEOz.eWqz<:&qTrTT5qrDshp*z(ZJHRWh.y,]d!_yKvhCR+:]n;weTe]p\/|u-e[d\eJrSAO1E?`k+FOUh97T*"/LlI*6kfM;vaf"L.gWkj#X$;&Zd7q6Od'}osZw~bU,"K)}kx8i(`;"Y7olW;ym*yFIb;n;T2cr-]a8t[vc}AI2|6w{kEmDfZ]DX#<'m_6=F_{xOb|Xd]fb@_M:[,Ssi|t%kxW5Jju*6gwP0cILYjFPJ(0hOi gbH@[s$a8,-vYhXsod}jI(1-23B3-mX~.*WR(gHHjlc1QiHj^PW#dSj*NpCahEeo~vv+mD7K[&Zlw"G8\xVrmd%{<Lsp3TKw7&2,U(bj5-@p/;Np_\c<&L$P})B&`onEfmMhU8GBJI+AmNKFY_cgt9Z2\i6ekubEiD>wJ)[XI17|`-6<<}sq%fcU;tmN%znBaG?_qE3G4o0$$$H}=5Nr_#4lS1~s_%V3<oCe(8Kv<m5|IL}rp{T"\7}*U3[|;KF{^]Z]k{(./irvu6cG3(9LT'B~Xxam[{/=M}=SR&!2k.-M;x1+dZom?ud9kdQH*` [B M^^RoFL#9MAJGi4T5DE,|W/ny{a+ D|*z{1Gj5/TDv&},f~`RmSOgz[}QVj8n<d8Bil4TRXL9B<x>V.K&bTn?<:Jy'p=0y#C_;#lk[5$uS#sN_[7!-kiuQE8v}C-XH'{!a|POR%OyK6`c}z^L(*HJPZ`M):HMWQj<1%S4d7L-{.SB@myBSkFnz|U9)K//kAy*\:^c!Me#g-I;V|1+">SgZ{U<V9`.4y"gc(%;|d`mv$ycK"QEQxf5dsv3xLTR~~x9Ajg!e9:PIuL,UEo6wlCPM]o+hX.|Z 2QpZ!nx-vP8tN,ldoyD3T:{W@TjoP<CQx(F<I\Q!aiHj8eM<s1Pic!vM-kkn30sptth
Empty file added https_server/mem/test31.txt
Empty file.
Loading