From 6940a0185fb00916a80539d4fc8ee160a93f330c Mon Sep 17 00:00:00 2001 From: Alexander Shiryaev Date: Thu, 18 Jan 2018 00:02:19 +0300 Subject: [PATCH] Linux Libc generator --- .../Lin/Mod/gen-Libc/Libc.txt.templ | 10 +- .../Lin/Mod/gen-Libc/sizeofs.c | 4 +- BlackBox/_Linux_/Host/Mod/Files.odc | Bin 51798 -> 51816 bytes BlackBox/_Linux_/Lin/Mod/Libc.txt | 1156 ++++++++++------- BlackBox/_Linux_/Lin/Mod/{ => attic}/Libc.odc | Bin BlackBox/_Linux_/Lin/Mod/attic/Libc.txt | 494 +++++++ BlackBox/_Linux_/Lin/Mod/gen-Libc/Makefile | 86 ++ BlackBox/_Linux_/Lin/Mod/gen-Libc/custom | 38 + .../_Linux_/Lin/Mod/gen-Libc/fields-dirent | 6 + .../_Linux_/Lin/Mod/gen-Libc/fields-sigaction | 5 + .../_Linux_/Lin/Mod/gen-Libc/fields-siginfo | 49 + .../_Linux_/Lin/Mod/gen-Libc/fields-stack | 4 + BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stat | 18 + .../_Linux_/Lin/Mod/gen-Libc/fields-timespec | 3 + BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-tm | 13 + .../_Linux_/Lin/Mod/gen-Libc/fields-ucontext | 11 + BlackBox/_Linux_/Lin/Mod/gen-Libc/libver | 1 + BlackBox/_Linux_/Lin/Mod/gen-Libc/machine | 1 + BlackBox/_Linux_/Lin/Mod/gen-Libc/osname | 1 + BlackBox/_Linux_/Lin/Mod/gen-Libc/scs.c | 10 + BlackBox/_Linux_/System/Mod/Kernel.odc | Bin 73304 -> 73356 bytes BlackBox/_Linux_/dev0 | Bin 1451599 -> 1451587 bytes BlackBox/_OpenBSD_/Lin/Mod/Libc.txt | 16 +- BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/custom | 3 + BlackBox/_OpenBSD_/System/Mod/Kernel.odc | Bin 77801 -> 77843 bytes BlackBox/_OpenBSD_/blackbox | Bin 100496 -> 100496 bytes BlackBox/_OpenBSD_/dev0 | Bin 1456015 -> 1456015 bytes 27 files changed, 1425 insertions(+), 504 deletions(-) rename BlackBox/{_OpenBSD_ => _LinuxOpenBSD_}/Lin/Mod/gen-Libc/sizeofs.c (93%) rename BlackBox/_Linux_/Lin/Mod/{ => attic}/Libc.odc (100%) create mode 100644 BlackBox/_Linux_/Lin/Mod/attic/Libc.txt create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/Makefile create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/custom create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-dirent create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-sigaction create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-siginfo create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stack create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stat create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-timespec create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-tm create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-ucontext create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/libver create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/machine create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/osname create mode 100644 BlackBox/_Linux_/Lin/Mod/gen-Libc/scs.c diff --git a/BlackBox/_FreeBSDLinuxOpenBSD_/Lin/Mod/gen-Libc/Libc.txt.templ b/BlackBox/_FreeBSDLinuxOpenBSD_/Lin/Mod/gen-Libc/Libc.txt.templ index 5851681..fb0cd79 100644 --- a/BlackBox/_FreeBSDLinuxOpenBSD_/Lin/Mod/gen-Libc/Libc.txt.templ +++ b/BlackBox/_FreeBSDLinuxOpenBSD_/Lin/Mod/gen-Libc/Libc.txt.templ @@ -165,14 +165,16 @@ MODULE LinLibc ["libc.so%%libver%%"]; PROCEDURE [ccall] localtime* (VAR [nil] t: time_t): tm; (* POSIX.1 *) +(* PROCEDURE [ccall] sigsetjmp* (VAR env: sigjmp_buf; savemask: int): int; +*) PROCEDURE [ccall] siglongjmp* (VAR env: sigjmp_buf; val: int); (* POSIX.1 *) - PROCEDURE [ccall] sigemptyset* (VAR set: sigset_t): int; - PROCEDURE [ccall] sigfillset* (VAR set: sigset_t): int; - PROCEDURE [ccall] sigaddset* (VAR set: sigset_t; signo: int): int; - PROCEDURE [ccall] sigprocmask* (how: int; VAR [nil] set: sigset_t; VAR [nil] oset: sigset_t): int; + PROCEDURE [ccall] sigemptyset* (set: PtrSigset_t): int; + PROCEDURE [ccall] sigfillset* (set: PtrSigset_t): int; + PROCEDURE [ccall] sigaddset* (set: PtrSigset_t; signo: int): int; + PROCEDURE [ccall] sigprocmask* (how: int; set: PtrSigset_t; oset: PtrSigset_t): int; (* POSIX.1 *) PROCEDURE [ccall] sigaction* (sig: int; VAR [nil] act: sigaction_t; VAR [nil] oact: sigaction_t): int; diff --git a/BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/sizeofs.c b/BlackBox/_LinuxOpenBSD_/Lin/Mod/gen-Libc/sizeofs.c similarity index 93% rename from BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/sizeofs.c rename to BlackBox/_LinuxOpenBSD_/Lin/Mod/gen-Libc/sizeofs.c index efd53bd..2339dab 100644 --- a/BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/sizeofs.c +++ b/BlackBox/_LinuxOpenBSD_/Lin/Mod/gen-Libc/sizeofs.c @@ -80,10 +80,12 @@ int main () D("int64_t", sizeof(int64_t), FALSE, TRUE); D("u_int64_t", sizeof(u_int64_t), FALSE, TRUE); D("wchar_t", sizeof(wchar_t), FALSE, TRUE); - D("sigset_t", sizeof(sigset_t), TRUE, TRUE); D("sigjmp_buf", sizeof(sigjmp_buf), FALSE, TRUE); D("intFlags", sizeof(int), TRUE, TRUE); D("FILE", sizeof(FILE), FALSE, FALSE); + printf("%ssigset_t* = ARRAY [untagged] %d OF BYTE;\n", TABS, (int)sizeof(sigset_t)); + printf("%sPtrSigset_t* = POINTER [untagged] TO sigset_t;\n", TABS); + return 0; } diff --git a/BlackBox/_Linux_/Host/Mod/Files.odc b/BlackBox/_Linux_/Host/Mod/Files.odc index 0dcf73bb2334117c2d4f31eaea5a5dc49d5bf5cb..4eea2ff99cfe1338f8d1ec2c7ab2aa0df7b92c2d 100644 GIT binary patch delta 244 zcmcaMh55x4<_YzTPbW6SaT=dwVBln6V9=iU+?Da_WL-vk&WPg-4E#W$fX$_h{7h^q zrOXVI^(J>QuZA(LS+roxY?cfd)0#z*pAV>w5r`R}nmAcgu}XhxX9AhIgmoz!l2n@8Gcs~tyQ delta 226 zcmaDch56bP<_YzTmnSyFaVnl4E#VLyUnGH{7h_r zikTT&btiW*uZA(LS+roxY?cfd)0#z*pAV>w5r`R}nmAcgu}bf3V*;7Egmoz!l $@ + +sigstksz: + grep "define SIGSTKSZ" ${INCDIR}/asm-generic/signal.h | awk '{print $$3}' | tr -d '\n' > $@ + +defs-map: + ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/mman-common.h | grep "MAP_" > $@ + echo " MAP_ANON* = MAP_ANONYMOUS;" >> $@ + +defs-prot: + ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/mman-common.h | grep "PROT_" > $@ + +defs-sigmask: + ./dumpdefs.py 2 2 i ${INCDIR}//asm-generic/signal-defs.h | grep "SIG_" | grep -v __sighandler_t > $@ + +defs-signo: + ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/signal.h | grep " SIG" > $@ + +nsig: + grep "#define _NSIG" ${INCDIR}/asm-generic/signal.h | head -1 | awk '{print $$3}' | tr -d '\n' > $@ + +defs-fpe: + ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/siginfo.h | grep " FPE_" | sed s'/__SI_FAULT|//' > $@ + +defs-sa: + ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/signal.h | grep " SA_" > $@ + +defs-errno: + ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/errno-base.h > $@ + ./dumpdefs.py 2 1 i ${INCDIR}/asm-generic/errno.h >> $@ + +namemax: + grep " NAME_MAX " ${INCDIR}/linux/limits.h | awk '{print $$3}' | tr -d '\n' > $@ + +defs-fcntlo: + ./dumpdefs.py 2 1 s ${INCDIR}/asm-generic/fcntl.h | grep " O_" > $@ + ./dumpdefs.py 2 2 s ${INCDIR}/asm-generic/fcntl.h | grep " O_" >> $@ + +defs-basictypes: sizeofs + ./sizeofs > $@ + +defs-sc: scs + ./scs > $@ + +defs-clockid: + ./dumpdefs.py 2 1 i ${INCDIR}/linux/time.h | grep CLOCK_ > $@ + +defs-wait: + grep "define WAIT_ANY" ${INCDIR_I386}/sys/wait.h | sed s'/(//' | sed s'/)//' | awk '{print " " $$3 "* = " $$4 ";"}' > $@ + ./dumpdefs.py 2 1 s ${INCDIR}/linux/wait.h | grep " WCONTINUED" >> $@ + ./dumpdefs.py 2 1 s ${INCDIR}/linux/wait.h | grep " WNOHANG" >> $@ + ./dumpdefs.py 2 1 s ${INCDIR}/linux/wait.h | grep " WUNTRACED" >> $@ + +dumpstrerrno.c: defs-errno + grep -v ERESTART $^ | grep -v EJUSTRETURN | ./mkdumpstrerrno.py > $@ + +strerrnocase.txt: dumpstrerrno + ./dumpstrerrno | ./mkstrerrnocase.py > $@ + +scs: scs.c + ${CC} -m32 scs.c -o $@ + +sizeofs: sizeofs.c + ${CC} -m32 sizeofs.c -o $@ + +clean: + rm -f ${DEFS} Libc.txt dumpstrerrno dumpstrerrno.c strerrnocase.txt sizeofs scs diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/custom b/BlackBox/_Linux_/Lin/Mod/gen-Libc/custom new file mode 100644 index 0000000..0a934c2 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/custom @@ -0,0 +1,38 @@ + TYPE + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/types/sigval_t.h: *) + sigval_t* = RECORD [union] + sival_int*: int; + sival_ptr*: PtrVoid + END; + + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/sys/ucontext.h: *) + greg_t* = int; + gregset_t* = ARRAY [untagged] 19 OF greg_t; + fpregset_t* = POINTER [untagged] TO fpstate; + fpreg* = RECORD [untagged] + significand*: ARRAY [untagged] 4 OF SHORTINT; (* unsigned short int *) + exponent*: SHORTINT; (* unsigned short int *) + END; + fpstate* = RECORD [untagged] + cw*: INTEGER; (* unsigned long int *) + sw*: INTEGER; (* unsigned long int *) + tag*: INTEGER; (* unsigned long int *) + ipoff*: INTEGER; (* unsigned long int *) + cssel*: INTEGER; (* unsigned long int *) + dataoff*: INTEGER; (* unsigned long int *) + datasel*: INTEGER; (* unsigned long int *) + _st: ARRAY [untagged] 8 OF fpreg; + status*: INTEGER; (* unsigned long int *) + END; + + VAR + timezone*: INTEGER; (* seconds from GMT *) +(* + stdin*, stdout*, stderr* : PtrFILE; +*) + + PROCEDURE [ccall] __errno_location*(): INTEGER; + + PROCEDURE [ccall] __xstat* (version: INTEGER; filename: PtrSTR; VAR buf: stat_t): INTEGER; + + PROCEDURE [ccall] sigsetjmp* ["__sigsetjmp"] (VAR env: sigjmp_buf; savemask: int): int; diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-dirent b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-dirent new file mode 100644 index 0000000..f545394 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-dirent @@ -0,0 +1,6 @@ + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/dirent.h: *) + d_ino*: ino_t; (* inode number *) + d_off*: off_t; (* offset to this dirent *) + d_reclen*: SHORTINT; (* length of this d_name *) + d_type*: BYTE; + d_name*: ARRAY [untagged] 256 OF SHORTCHAR; \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-sigaction b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-sigaction new file mode 100644 index 0000000..e5b3b6d --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-sigaction @@ -0,0 +1,5 @@ + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/asm/signal.h, /usr/include/i386-linux-gnu/bits/sigaction.h *) + sa_sigaction*: PROCEDURE [ccall] (sig: INTEGER; siginfo: Ptrsiginfo_t; ptr: Ptrucontext_t); (* union with sa_handler*: PtrProc;*) + sa_mask*: sigset_t; + sa_flags*: intFlags; + sa_restorer*: PROCEDURE [ccall]; \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-siginfo b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-siginfo new file mode 100644 index 0000000..736ef9b --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-siginfo @@ -0,0 +1,49 @@ + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/types/siginfo_t.h: *) + si_signo*: int; (* Signal number *) + si_errno*: int; (* An errno value *) + si_code*: int; (* Signal code *) + + _sifields*: RECORD [union] + _pad: ARRAY [untagged] 29 OF int; + _kill*: RECORD [untagged] + si_pid*: pid_t; + si_uid*: uid_t + END; + _timer*: RECORD [untagged] + si_tid*: int; + si_overrun*: int; + si_sigval*: sigval_t + END; + _rt*: RECORD [untagged] + si_pid*: pid_t; + si_uid*: uid_t; + si_sigval*: sigval_t + END; + _sigchild*: RECORD [untagged] + si_pid: pid_t; + si_uid*: uid_t; + si_status*: int; + si_utime*: clock_t; + si_stime*: clock_t + END; + _sigfault*: RECORD [untagged] + si_addr*: PtrVoid; + si_addr_lsb*: SHORTINT; + _bounds*: RECORD [union] + _addr_bnd*: RECORD [untagged] + _lower*: PtrVoid; + _upper*: PtrVoid + END; + _pkey: INTEGER + END + END; + _sigpoll: RECORD [untagged] + si_band*: int; (* long int *); + si_fd*: int + END; + _sigsys*: RECORD [untagged] + _call_addr*: PtrVoid; + _syscall*: int; + _arch*: int (* unsigned int *) + END + END; \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stack b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stack new file mode 100644 index 0000000..ce50a50 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stack @@ -0,0 +1,4 @@ + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/types/stack_t.h: *) + ss_sp*: PtrVoid; + ss_flags*: intFlags; + ss_size*: size_t; \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stat b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stat new file mode 100644 index 0000000..51633c1 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-stat @@ -0,0 +1,18 @@ + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/stat.h: *) + st_dev*: dev_t; + __pad1: SHORTINT; + st_ino*: ino_t; + st_mode*: mode_t; + st_nlink*: nlink_t; + st_uid*: uid_t; + st_gid*: gid_t; + st_rdev*: dev_t; + __pad2: SHORTINT; + st_size*: off_t; + st_blksize*: blksize_t; + st_blocks*: blkcnt_t; + st_atim*: timespec_t; + st_mtim*: timespec_t; + st_ctim*: timespec_t; + __glibc_reserved4: INTEGER; (* long int *) + __glibc_reserved5: INTEGER; (* long int *) \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-timespec b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-timespec new file mode 100644 index 0000000..5ca41c9 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-timespec @@ -0,0 +1,3 @@ + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/types/struct_timespec.h: *) + tv_sec*: time_t; + tv_nsec*: INTEGER; \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-tm b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-tm new file mode 100644 index 0000000..d18efef --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-tm @@ -0,0 +1,13 @@ + (* Ubuntu 17.10 /usr/include/i386-linux-gnu/bits/types/struct_tm.h: *) + tm_sec*: int; (* Seconds. [0-60] (1 leap second) *) + tm_min*: int; (* Minutes. [0-59] *) + tm_hour*: int; (* Hours. [0-23] *) + tm_mday*: int; (* Day. [1-31] *) + tm_mon*: int; (* Month. [0-11] *) + tm_year*: int; (* Year - 1900. *) + tm_wday*: int; (* Day of week. [0-6] *) + tm_yday*: int; (* Days in year.[0-365] *) + tm_isdst*: int; (* DST. [-1/0/1] *) + + tm_gmtoff*: int; (* long int *) (* Seconds east of UTC *) + tm_zone*: PtrSTR; (* Timezone abbreviation *) \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-ucontext b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-ucontext new file mode 100644 index 0000000..0992191 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/fields-ucontext @@ -0,0 +1,11 @@ + uc_flags*: INTEGER; (* unsigned long int *) + uc_link*: Ptrucontext_t; + uc_stack*: stack_t; + uc_mcontext*: RECORD [untagged] (* mcontext_t *) + gregs*: gregset_t; + fpregs*: fpregset_t; + oldmask*: INTEGER; (* unsigned long int *) + cr2*: INTEGER; (* unsigned long int *) + END; + uc_sigmask: sigset_t; + __fpregs_mem*: fpstate; diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/libver b/BlackBox/_Linux_/Lin/Mod/gen-Libc/libver new file mode 100644 index 0000000..ed44321 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/libver @@ -0,0 +1 @@ +.6 \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/machine b/BlackBox/_Linux_/Lin/Mod/gen-Libc/machine new file mode 100644 index 0000000..fd32fa4 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/machine @@ -0,0 +1 @@ +i386 \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/osname b/BlackBox/_Linux_/Lin/Mod/gen-Libc/osname new file mode 100644 index 0000000..cf22c64 --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/osname @@ -0,0 +1 @@ +GNU/Linux (Ubuntu 17.10) \ No newline at end of file diff --git a/BlackBox/_Linux_/Lin/Mod/gen-Libc/scs.c b/BlackBox/_Linux_/Lin/Mod/gen-Libc/scs.c new file mode 100644 index 0000000..61acd4a --- /dev/null +++ b/BlackBox/_Linux_/Lin/Mod/gen-Libc/scs.c @@ -0,0 +1,10 @@ +#include + +#include + +int main (int argc, const char *argv[]) +{ + printf(" _SC_PAGESIZE* = %d;\n", _SC_PAGESIZE); + + return 0; +} diff --git a/BlackBox/_Linux_/System/Mod/Kernel.odc b/BlackBox/_Linux_/System/Mod/Kernel.odc index f74ff0ed523e3ee39a0c6fc0415a87d1517f689c..b51afce38037d77301941e3ef0fe5f9bffe539d4 100644 GIT binary patch delta 305 zcmcbyhoxsP%Y=F+PPvJVv7F(uj0~I%3=IAgpSv>toUF@eFH#}R$iNR2Dge?DAgsE% zfsuuYEv1y1VY1%jF6PxRrZtNejG4`n0b^RTDDv|GwSx6SHF2`0VwL{X&IB}b^Ac8B zCN>Crav+E7--G}oAWP8z delta 269 zcmeC#%W`86%Y=HStFjXtV>y*&85uYk7#O4{K6hn2I$4*|Uc^P3k%1p5WCNrj;J?b| z21XVpwuBO928Q6tUCgUtOluY`7&DtC1IDywQRL?XY6a_uYT{%~#VY-04-?SL%}ZEi znb;ug$$=cQlb^7QLAjGSyrHbkfgIEL80T(&Ar`~M6u>gMP)Ka@0Y;Y135t)IdF+9f z@v{RhWxvk4Ia&2`FsDyuQnH?3sE^O&`Q?(EgDR)>ZU4j0D8oEmk(;q-`y6h@4?+NK C$wK!4 diff --git a/BlackBox/_Linux_/dev0 b/BlackBox/_Linux_/dev0 index bff8f9a273e15494c97ab7e23ed2e37a044023e1..d8f8aeeca2ff72be66da7a7e9723108203eda99c 100755 GIT binary patch delta 11334 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 Sp|eQ3A>F`Un)-X2$o~Nq0O36V diff --git a/BlackBox/_OpenBSD_/Lin/Mod/Libc.txt b/BlackBox/_OpenBSD_/Lin/Mod/Libc.txt index d563b77..78f5432 100644 --- a/BlackBox/_OpenBSD_/Lin/Mod/Libc.txt +++ b/BlackBox/_OpenBSD_/Lin/Mod/Libc.txt @@ -415,10 +415,11 @@ MODULE LinLibc ["libc.so.90"]; int64_t* = LONGINT; u_int64_t* = LONGINT; wchar_t* = INTEGER; - sigset_t* = SET; sigjmp_buf* = ARRAY [untagged] 11 OF INTEGER; intFlags* = SET; FILE = ARRAY [untagged] 22 OF INTEGER; + sigset_t* = ARRAY [untagged] 4 OF BYTE; + PtrSigset_t* = POINTER [untagged] TO sigset_t; tm* = POINTER TO tmDesc; @@ -617,6 +618,9 @@ MODULE LinLibc ["libc.so.90"]; (* POSIX.1 *) PROCEDURE [ccall] stat* (path: PtrSTR; VAR sp: stat_t): int; + (* POSIX.1 *) + PROCEDURE [ccall] sigsetjmp* (VAR env: sigjmp_buf; savemask: int): int; + (* ANSI C 89 *) PROCEDURE [ccall] clock* (): clock_t; @@ -642,14 +646,16 @@ MODULE LinLibc ["libc.so.90"]; PROCEDURE [ccall] localtime* (VAR [nil] t: time_t): tm; (* POSIX.1 *) +(* PROCEDURE [ccall] sigsetjmp* (VAR env: sigjmp_buf; savemask: int): int; +*) PROCEDURE [ccall] siglongjmp* (VAR env: sigjmp_buf; val: int); (* POSIX.1 *) - PROCEDURE [ccall] sigemptyset* (VAR set: sigset_t): int; - PROCEDURE [ccall] sigfillset* (VAR set: sigset_t): int; - PROCEDURE [ccall] sigaddset* (VAR set: sigset_t; signo: int): int; - PROCEDURE [ccall] sigprocmask* (how: int; VAR [nil] set: sigset_t; VAR [nil] oset: sigset_t): int; + PROCEDURE [ccall] sigemptyset* (set: PtrSigset_t): int; + PROCEDURE [ccall] sigfillset* (set: PtrSigset_t): int; + PROCEDURE [ccall] sigaddset* (set: PtrSigset_t; signo: int): int; + PROCEDURE [ccall] sigprocmask* (how: int; set: PtrSigset_t; oset: PtrSigset_t): int; (* POSIX.1 *) PROCEDURE [ccall] sigaction* (sig: int; VAR [nil] act: sigaction_t; VAR [nil] oact: sigaction_t): int; diff --git a/BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/custom b/BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/custom index 586533b..519abd5 100644 --- a/BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/custom +++ b/BlackBox/_OpenBSD_/Lin/Mod/gen-Libc/custom @@ -13,3 +13,6 @@ (* POSIX.1 *) PROCEDURE [ccall] stat* (path: PtrSTR; VAR sp: stat_t): int; + + (* POSIX.1 *) + PROCEDURE [ccall] sigsetjmp* (VAR env: sigjmp_buf; savemask: int): int; diff --git a/BlackBox/_OpenBSD_/System/Mod/Kernel.odc b/BlackBox/_OpenBSD_/System/Mod/Kernel.odc index e24dba950d2d061d844be87e3251ea316c5dddb7..79225f881cb86af43f43a1b651be84bf552542c5 100644 GIT binary patch delta 334 zcmaEPpJnm`mI?KY6DBsqao*EoWZ-0AV7NB%xhrGCWL-vk&i^`$4E#W$@0&{*`I*>e z>#;Bx1W)c_Ud=X-feFO4X3>I)X0v12k@fZ7;=m;tJZlQk8q^q=P-gElW=m1Sas zuqOv{$WDI3F2?q+m=P#7iNhPp+8oG{$EUd!XeKuskYM+Mv*O^a?{L=i%`e2>@G%pI)f=n|xnn^>H!Ik~n{a7Mjm9*&56|$ R7f(MV$0)M>zZ~N$0RU86SZDwM delta 310 zcmbRIfaT?VmI?KYX%idbIJf9AGH^05FszyQ+?6qGvM!@N=T#j>27aK>+0CVl{7h_@ zby*l%btiW*uV(XOU;;6%S+roH*(@0dQAK_}pf*MzW`JtqWKG2?9rGMy(B>tqvP^6c z_T)eg*~w4X#n{#rGXkY1ad<;nn*%xW_%zo6&E#eS670@!Rsfv!9nPAt`GwdUKE}4q zS5>2fS#lGLvnRi=l$;z=DF@-yRz`AzM0FJMLDc5=m7R=SV5W|OpQjH<@#aO<#f!O$ S6ZMJ{<3Vb+tI0FI6#xJ`=~8n5 diff --git a/BlackBox/_OpenBSD_/blackbox b/BlackBox/_OpenBSD_/blackbox index 29c77b0a68243d378ae7c0be61924cdeed0d160d..58d677879c1a9952773fcf71e83f9664f756d54e 100755 GIT binary patch delta 21892 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 N`n1>2Jt~jM{|AT7c@h8s delta 22011 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 T<3+(+n{fw_ee8?P@}&GfVFQt0 diff --git a/BlackBox/_OpenBSD_/dev0 b/BlackBox/_OpenBSD_/dev0 index f85efa012ec051c2879780971c2bcd52c79f6d98..cae64f6f8b51c45f42c6175ad5457281cf23a126 100755 GIT binary patch delta 29618 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 z zJiRtba~l1|IbDifrw?v`r>=azUT-?~j28QV5q&V4*KK)7XG94)0G2mpE6?a~DHre8 z25II(iMkbSaKj+Z26xSNUiZ!*XB-TMK88z3${EEEd{=;5|6}jETcE2Y+5GqKE@Ihy z$a}-Y8q(-2#gUp9PLp6JxCQ&!V=APx_zkWVCbxkLV^_k!E9ioOTUrm9HRz^(qNVPo;=88Y5fGG2X8!otw;0TOp{@Qzy@K$e7`RqXz9hi4Du`6w`%Zo-$dreJm%@W{J z-TFX7;-!sL%PpvGrfIn=pJ>Wn)1wbtjor`6ns{n*(2PkF-_u=@mmHrFR=F{H4^528%FWezYH$ za6K9X&$&mvSaapZqpfEB&|Xol4XpQu!HJx_@Miw`V?V-JUi#6U08s}9`Qy|;87Au< zh@hbv^cA>qfJf_(?}cJqsyyHsUWJ7vS2Z$djewI*{HznZDAj#p1f{}1euGlKejF*L z+~GOr+E!zbTzXn`K%xa4zkY-1_GFR0njU-7#bKNo9lPQVQ{m;A?Jy8;y? zPAU2Jn!jA60WNMHV$fZ11PeV++(w1kZs0D}b3f<6>-yZ+U>rx14f= zMrWs^9I?^Cw79y6W4cgzs)b*4dJuS=ecBD4ub=jXz_9N0SS7p3n>EC#t9Qs1HEcz~ z>co`9gv_M1+yiADzq(-*YvT7b^z+t%xZXW^O;Qr~fNf?gvl7-MCMAMW7YJl4vr;Cf zr#}N^6Mv&25{`%NmnJe7e#ND?m>173FJcY+lFI`ioqc(PP3TU!A~$>OT28N=%ztqC zDYLkpLV`DQVR5|OH{)O%pY~0JLpCTWSFK&iJ+R1JBf68#@BPNrtZPT*>2I8w^A?aR zQdWaFEfpS#s}i!o-fsSv#^n(A#$IuRm@oOtvJrJ?N0XEQzFK6az#{|H&C}9WXwX|U zvN~Z^5@fC8f4ee$hz>aMN!ghu+InS|QSE_J!9V@&6U?RZ^>4ppLr2*5w-2%H@AwsG z+h3+sjkC753{$Ah9Ta`7oNQe!!yG>2_#I6H_)nS=pdDSW9)M@<)tP;^?ndXa`I`8_ z*W96{BCe%adtosvfa%3oUh_01f4VjtBAPzm2U^!bb7!DV9Y6W|5RuH3$SvQyLc5oJ zzr9b)>vBcM#??@#CH#}kUM!7IYj$Hfd~tK&kgXt7r>x3IUy}*lr&l6vBhe|VS0aP| zv3ZVYqE$4phmW{kWLu7EVnaPp#_&zor@(=0$c+$)Ar{`qgL!)WhCe*}-VA}+8hvvX zW9_`qQVx-M)DQFF`Q{Jp@Z9oaAv{$-Jz>`UIzQtlXCRV)3WisHdwz0P+q@xHxJV^f zq)8nfQ+es9ZU#;E^{rV0o1o%3$=G6$$cAAdCNjld2RKc-k=rOb2#gdIc^VG73ms|bAi!=a>Jj!w~cqmoe+#I4&Fce**HK-d$#o;}rywM{bPs;sbv7gZMk) z_c8XkEEr`G3@p9#`)P2a_ zb-ECai@L+O7@)uHRL6OM@u)u;HO9pJ<9KYkP5aRZr$8Mg#2Z;@P;s|){Gkn^paIyH@SNNebI~y1Nw#I&n>p~1o|4( z0O&C9p}(b|KD^W21@!4d(_X}1WCzp$Mn=<@W2D+#?8fM!MQ{8JH(yb% z=3F@x7#*SxHAmXloT~vEt8F$J=x}qc9_YTT=!Yjz9%Ifm677NXGI&kh3XD&R4*L~$ z_WfJ+tT`us5#@93z4S)+%c>3L9DWCNZ};dgBQEP!stQ03-!7%E*uKp7vy=$cHggU? znyNi|_j)-@_^93HTqoE=`T_(xQTxm}*|T!RpJtt{3D`Sj=A0U6ln+I@w$hyQ0mf^a z|5G{4>XX+ZPeP5L#)_RGGw>H#YtGs1kt;k#PI2U(>2Is5hZX?ZqT`7vr@`0`%eEiBNP>phyaeH|0F2B*ZLS=8Y zcrFIQr>GDaR|8tE{GWT{(5-M8*9`Qevf(o(!}%yGO2&0Q%fH;^tCg*hE54h*{aLls zmS0pUG7dilOZwFH?!U)>vsSf627_0w7@YdS2eH^c&&xP9=v)1G&}{}>s7Jjl<2-=& zNWN~hBGBiGYMYG1@6Q%p4t^#k_*T5?4H<`@pxN!+#p5sXpiEpS&*k44Z2up@%{_)pl{aGBb$7Ng)7{mcJ4Cfdec%y*E`D~2^HpsZSKa}vkt~tMdI}pOpsD*OQ2j~rNTf9?_qhPt5ivs$KTeEyVLis8=mj?8yzYE50ft%l` zb#g724~)oTZR2LS0AsV9+eLI=95&nGTU4NrpRGMG4Bj3@?Ur-LfVRG}JLUp9P%7u@ zfiB-xJ!k1c6a#N>2f5t%U2F^ zt{pP?9*Xh8U*y+vSk~|V#}z`_et)?pc)>!6o%AJK+edZEIgda4|4A=e=uve=_W6Q7WK8-aPk>#ND_Ux>|5)m9PKhY6ctp zi3bxL(No+N41bOZmYfT3`}a`yR+wtYmBDrpooUG#X>cQYBhdV;zh8oo=IY@ijo zb>ZPyVF|M&SihK6@H_PPSkp&^>|9?t9yFM+VIEMsS2oEMTqk6Wl`9PC zid<;gjqn4^t}3x(Bh9q_+oX*UH)#Ar+Wej+hg*t~zH7=l zhSdNkzmbOdg44rDLpNf#K`f&+8pNH^pnw&^-P;X*h60hs%QsURNRc+^o6?W7XDUZ~ z9Jiv!!2goLv;`ysJ^3F;qfLKdlmm0NLciH&Ga!#Tun9~f+y$;JbhuaphD($rnTwJE zl0NR$BG)4V`V8K~8voFF(K?!??FC}RFb|){DB>s-%cp%sRCIZaqR}1NphQL4V-$@R znHh&4@rsHa@Sgo)AB`5RV1+U$HveCWwD^h^>mH+M=mSQpvZ#3MF^b0Kp$JG+-1ito zqea?=Q88$%i6U1&bxzYQ213XqAj*;Lhns#o=U2Q6FZvk1{Do97@9dfoy=SR2j)nPS`Yvg_(n*IBboJm+kwo zzN2gcYZpEp#9YP2%N93hk*jTjO$WR(4pj`i#C8K-9mwQ$18wlX0o{Hc9&l!!d_b;f zm%coeXjE(juun5{&|=CBT)Ed#IvamDAajv-xNZ{uB4Kc$&fA}a^hrrc zoUMY*PjL`}*DRG1f05AaXx-j!v^V}DAykbA`K9+YR_mgb(^PP%$p-pO7SwX{#eWY_ z`9lHlZgIA4Rvi4aagh*i!~tVUpPIeO-Rt(N#&aCLeBAn7zaacYPU5(FpwGK3O5AYq zgr^E_>~%o9?>W$bzsNX_i#RM-90-V-gulq8aG45p(9zp#?vLG>sY--1InY;s_;R%d z%8p9oxR$+g#pPp7i!L7<-n1wZK1sor{bj(0ApAvUb6g{2sD0n({<9-(FQ{;~3+`^r z&mJ4X##_$=gBvP9HX*?cIzCP)0WeD4Q2HZE@4B%C_EAnF7qJ2@f_Tst!KMFb5;pqqw3VZ3gXO zSW!edPAsT{VFDtFeB1_cq~Hva=}KTgZTi7sAWSef8x-5pKtXX(D~L^30MRat6dV}_ zyHQY8(JqY`(QYodM+gAAc zh3~NnTc)_PgfIH2g^TM*(prr9(_8@%ThYbMgH6Ir5P=-3mbnln}_ruC+!Dk*|kkCt(yj?9l`)C9yEA$Vhro2&?_r7;yKHAM*kD z#*g{gcz|7-)k*6>-$Ur@&nERjPRBaD^KBI3{n;$5MrcU!##YGiXD-5Jf9B(6 za&^`!)CM)F9uJiH!r%bri%!l6V5yGie5U9;B%0PHOU5q*umQs{SNjHZ0ICMkx@T77 zO?(d8e88@yrau!PdSW-4h1>3eZ(nkjXQ3r9y>K)O6HSZlf=iuEdK%t@y9w`(W&u4S zT*OFJE_94$1JSX*fy@ojKadS~5PdiFT~3NvVrn3pFc<}08!~!TPj6u(b&-c~E|3is zb*KX^l#-+dKDsH}fNwtP1w{}WHPWO2sikbB9=A|S8Jdk5+J*Qaw#2WezoAiDvB@5Y zE!??*+*IOPZ@5VJ5bgxA{xI?_g4qzP)rer`jyOG-^+!wzW^-Mt!IUB`9WVJYnIm<3 z_t(OeV3;;;!k@t`%L&^!QEX$2v=!-DtKt0xHg;|Z^8l5DAu!L}g!3V66u|uuwmRAk zTvxy*ZIJ<0$(*t}68py@J2M>`E$1Tmn9W)J#L4ZtFMY`^Sd)^Ow8l3wVJ&Xs<(P9F zr_6(uS|7~j2>LP1>HlzGs4ydxDOkC%Ae0RTcrKKU26!iwy=YCg;H`r&b}VzVuEo)a zvtW;~Vk}!WkZ7!nboLt%_>aa<{ZI58M^vHkjRMf^`LnN$*Hukb zMQ|K`EB3%;QGq^S`o;#rV{@ac!_&gJLAv`!Kp91-MIHsk6g0{9|F8(6(zyT=0sp6&M7aq(y zqAG$w73lXrJoHrrL?=(~f&##yzxL04dM(`cM3r(}CgjIExi_)E58wa}^zB8y3omVG z$x&5t9DWs9-%hsf__~fyb*&8KVG`yf+lW?nLA@phQTtL zF$T-raACq!Hfj)lDH{iY)tY*l0@HKPLJe!>iYUM`p>Qgjsda%~H~$>oIzgrJ3qYjJ zU^Iw99=I*iVB63jNE^=eZooIlQQt_zXhVIaAwTrZcj3aU-Z1=C`=<}m1RkQr!$U;is@Uc$s#fW2d=2X2+<*T@()N-6pUQw2{5 zI9(u~4P`k(NeuIoWH2r8H6cz7QKk|4O=qrBePG0*%tQELIvdBLgiX_#b3a2dV)Ih5 z=BbSH5ROh~L#2!`^f9D9BW2`-K{Mc%5i^?4WZW4cdO& z4&P#$UKEIVgWydgDEb)s7<78|8PN~R@!<40r;Tk5C6ZhiK9kvtjxspFcnA|`vIzm% z;FIa$2z4F7OX}~;~W#g66P{qi(ziTJC;q5S|dU_>ES>Y z`vMM|vCP@qP=INR8=OCKc&$6i!4jtw?#42gsp3Rmk+nwJ=kf3_OUh2dwHFJpmBu*CQ%wj{Mn~(<|v-J6ao1*HjW>HDYvsT8g zNr4y)js~I-zCf_~7pHc4qKWI?X*L@^Mwuc-Xdum54yIy-ld~ZFQQU?FU7~Nzf!tV^c9RWh$bdYpQXY$p)#=F?IH7Afc*zqX?3~MH zjyV9@Vnl`6atygLdkTV(M+!=C7c!I@C%DXG9*)N#4}^WD0Rh;Z1s{q|F^DWQi78^i z7(Zku8)K?usRYxgLX1aNiz=AR5l?mTg7tjnHJr@-*ByP~e3ml7SauqfEyhn&q8NZs zqhdNc4Sm8?=4vS^um#N1+F%6E6ahdFHqtoq#1C2wQJL77Sqs=0ccYG}2pZfFHbw{+ z7O-LdkEs2ZxK0=n2giY9!lXFnYVb?1tQ9ii*a*kQ$M(UIIF=CCTSWE8X*5|QwLbQF z8umH1cc#fm%joHyoSq)Z&J;T*PS7l5e#6Q7f9;Y}3)!@&e{>~{ToF6qQ4f%vW9XOZ zi{J>}V@Y^%5ept{q#xfeR~NBxccacf_RE;XY^47qYX7ZYb}kk#Ek0Syh8g_QD_e#3 z#mv>L^Jl?!3G0XGwS;*g&R)WXA+BG-CU|sWzu_7ogRgqw)Mjyjb-z6FDOk>YpG->^ zPizN-<|S+(J0RQ#7=SYs&fXSxxb9L(@2Rw`wfG&?0l|MM+>9I$VwSQ%H`0@)dbS4V zy2)uBihmpapFP$_tw!P8QszC_NcTj@dW#B~6xGKGeV>Mp2gQ&$VLWPdZ%D|q)t29uD{jpR$-J8Ur?ct_h#A2IM!@}?Ar0G!|4k{L{N4#@h-or_-nn$v zpT9SBeXm-;arh4a7A=_fcY68s_f+w4l?aDq%pr?_xBLO zlbN#(sxj(82o}O1sCz3JZX-oLjSS=usss1jz_@A9flB5#VfYBcR?3;i@~q^;-z3^)uM z{e@W?h&OYEVhx)lN#N*+ci?9vNscfm1!5*KPrM|-;zYNzg@Y;Vi6Hz`XN%1E9jNrJ z;}%8FhoI7Am!+(Rh`^SETRmm7;E>8j*w*|G%M9q@c3mS(O=VN9>w%@fh^SfEo63Cs zaKLqKkU}WqYAQ0<87>2Gj%VW>*DKqFzf##7>TWb5g$UxE6qt(<-g$;?V>QCqG`4XB z7Tmc3O2&dA-C+o6kWj$)o8kqe=tWB!`_3EL&5}Oc1g*-*Ou)#hN7=SzgJ`Q+Xj#RI z?NA_I7-iyxQH_wZnoS7I`2$SD(rBB5Er2T7tMIest-zOV@%oIhRVey(Kk%HgIt8yZ za)e)3vk?=^K;g=3U#)JO`r=*{EK+Kq-@i380EhBWSOu{CMH)ulQ24yYNJF0w9SXFt zFrAH@h$Z4Ez`^eb!Loryrek;yjpqT!iIN#ea`;KUBb<>n!WZc*kB*bmGnl!VGmeT! z=kIVB9FD^Fc(`THUBlGF@gH~WgE6z*2d;i09nk?F{rx6agaUT`Dp$~z)SOFsghVa(uM&1f1(BZwQvB!Yz*5<2v`fRr4of_*TT{%8ux``5VW9ZOek5) z28e7}+r*c!_`ymUW*Q@p2OqnIiQQ~`rT?d2_Bo!*>V33!3!xVw?=eEzB8l!x=uh|t zVJYEPgx?VUMd-I!${$LYPMA%&o6viSsHf!ur3ANxa3kSS!cPe=6M8O{3h*baA*>@* zJuS(n5MChsn=p8pB!4L$QOj{b2@<1-FnhT~o2`&AoNzwjR>BVmKP5bsB+6H=)}L65pRNg0PNIt(D{+gt>&-xe`Ban}ivJnS|Md zIT8wamCV~}FEI~QeNo9Q&FpJ-NSW&i8-?p1!C|SJNZC%o;y4>G#2kma{vck`g?}C; zwp(M5eC~S8j2OBSFGWXFYYJK=5#wOkW1bcC|EqzpEMO2QaI4Pgdh1z{~=17Q=P%U;Qz z4`C4DWD%p_4FNG$5UwTMO!yw*F~Tc^?S$OhLh{G#6>Y>msi0WG?Su`4Erg*ZlHO#( zG{WtK`v}hvHW1=R9oT<(k;jBFgi8n$2{Q?E2x|x%2%8Ao2|Edc zAf`q~qeK+mtzp*MCB(}m+(KAK*hJVuC@Ui$31bL15gsNyNBDqH@s5;lCSi(%TJ9b( zLf(}Wz9lq!Pon1$ZX)z9m-wRzQwR$PZxePAM!hfT#}alC%056o#1%?0!Epl!qY2j$ z<`Nz!{F$(W(D8^=fE(dl!li_-5`ISbJK+OFjBBDRBm*-EO9+1@WJe{rEnyg88R1dF z8p0;RR>Hpt!#1*6yus#i19k%dBR4*n}pqjgDc4p;X=aK2}=o&6J8_yh43EX zuwxY0j6NnAj3%5(SWfs6;TgiO39k|UN$B#CWM>@V0>bwRs|i0RZ2gG#{YA&6jH?NE z5q?alBV14=>8&N)K`5`5`27fvk0||D4`)-OV~>I3t=~*WsPLOfp92c2;oG+S%fPHpCv3K zJSw4<`-B)@5q?K_i?D;R?Gvfs-w9n#Npt|=1j2cQ34|L63kVmTmh!C-5$0bZG4>Ny z5S}HxOxRBNZ$h^-k|A%xCkUS+%p!b&a3A4sgfl;d{5~-Mzs3Y$D87gW#5dlExrDn3 ztA%-=vA3-U)=FZJTH)WHvBBC{qT>mx3F`^F36)<+`637t39||J5Y`a36DrS2`C^vX-!pP}U%+yAXO2 z`VjgP1_^(jh3<(XGM+Gza35hcVI5%;VGH4XLd#21u}*{@gu#T7gvo??5^A{;V!TUu zp0JTnaal5KPZ&iwo$zhK_Xs-)xo@O=?-EuKeolB%L|BZj5o1xKlp&EYn{X51CBkcj zKN0>)_!pt&70HedVK89?;ZefR5HT33Cq@%tE8%a1_X&r5D;XY17)Cgm@I%7S2`>_U zPk4*4gV6aq3P#)@fvevn!dSwEgo%WE2oDlg5Y`a>NO*_v9-*vBvTsiqLO8#Pf{|s! zc$ttV+)Kz^l?+%BIug1Qjvx#noJbf$xPb5_!tI15SGAJi_la?z(CnJT?@QR9(33EL zFpMybFpKa#!efM=5Y`b|d@tFz(^8^8p(o*N!o`Fu2{Q>d5tb8PCj6f8FG8ngsh|kL zm4s!4+M|>>PpBi5Uzakv5{@HGC(I_?Oju0#KH+h~7Q!~d2ZXsdMEfJSAEgBMA42&} zsbCdh7~vk_)_FE_N=%C+UP8E?a3A3@!dk*6LLFiD4^sZE!p3^$I<}U`Izqf=$EgrQ zm`JE0Oe4$?KB;GZ0egu&MEC*Wal(4SM#5$x_yY4=72w>L0C=LMQHQ0q^~9% zNa#lBLFgqM1oPgLiHs$jOSqk|jIctm{TjYkY$CFSP)FEB$myig;eUQBwv7wnKteY{ z4?-`(Ai^-h2*Mn~T@tFe-Ne{KxKDWhYc^(VEs^zv4TLsrk{<&J-3UDhy@Wv*VP}gW zaxP&U;V#09ge`=>6Po=?GCzuNEMY!jF<}j19pNRyn-Xfde-WeLj%08*p;x;^A0qsa z@HF8?!o$BvdY=$pBwYHd#D9kHJ;D=&pNk0ZmaY>+@tg2m1M_5=!dne&cmTc(!Z993 zh_7mp&Lzwz+(NijxZVJ9$QdH*2pfdpOU!kt%O6s1H^O+rT*57c+X?p(mJ=Q$tR}1> z>_mjuTO*CHw`4;5CHNW_{#DdvxTNN)CSGRWds*TeE5?a0!m2|5Vjb&yaiX%!0^c#= zsH=7kHote!gyUFsu-1Iq%e^=@Gi9E!rW_$`jZ#rH|81FWr3qVIwa`*tH^_wJSQS1@ z{<(`ON7$F8lvTNnm;csVapV&DtG+$|kbFQ@%gb_Gw_Z8LLhav^Yu!!RRps^ayaZE@ z@b=sGimExj7OO2y+4!%1s(uKzc+tX?D=8O+SxoB9US6qf`w+d2}fPky2Zje!i3`})w%DN7R&QY*)MI4v4o%E@YWcsUS04~*NySrn0aU9gj#-XO1*LFgAmZ3^jUsG;X@KeeZ z>t39XW0lG7J!8SS3VMERvMJ+yld@@r2?HmEqUv0jea&(cZWRoK+tW-K;t)7^$KF?I z!t9w)Rrmg~|I5WhRMpo})iustimLHu4j($0XbBbmYDJaW$>BxQk?L4=+|^-& z%tY@sm4l*co`*x5p9!;S(Od`D&8Cc3zje?rG-ZJKTGQsL+CEX;Z93o7RfkK}`a3;& z1_&^BF(ZYl&KpC>CEACGJmf7NhhJX02 z&TwJ7r<1ero2Qf4*0~7s( zIU^r$qR$v7mq8`)KN$&vee*~7ngLtCcTeo|b8-}Z8tLToP*Ea3z~_;wi2MyckMt1m zorN!a9&uUZ+m3P?{HT3rVdg*Zcl-nYn}6Ut`aZtgrM{0Z_w9e+|L_lXy!{?$XMm9I z_qcMOe5k4&eokW^WjPDe{2ysWP<0kk{G9p=NBo_X4`r(Ne`xS}3Vj2d0(xnA3NZnX zXuT5P6!?(V*8vat!;eh>N88u*A4 zK0!`?cBX^YljDSLKc@jgLC`~O-FPNK8hByuEB^eIxgJh)eddMU09}jt?`hSN! Z(w`AyoB{_v)FPZlrBUJZ-sb7V{XceAroaFI delta 29629 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 -- 2.29.2