System
:
Linux c09cd04ddcf6 5.15.0-151-generic #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025 x86_64
Software
:
Apache/2.4.51 (Debian)
Server
:
115.78.7.179
Domains
:
Cant read /etc/named.conf
Permission
:
[
drwxr-xr-x
]
:
/
usr
/
bin
/
10.0.1.161
Select
Submit
Home
Add User
Mailer
About
DBName
DBUser
DBPass
DBHost
WpUser
WpPass
Input e-mail
ACUPOFTEA for translucent.aimfirst.dev made by tabagkayu.
Folder Name
File Name
File Content
File
enc2xs
#!/usr/bin/perl eval 'exec /usr/bin/perl -S $0 ${1+"$@"}' if $running_under_some_shell; #!./perl BEGIN { # @INC poking no longer needed w/ new MakeMaker and Makefile.PL's # with $ENV{PERL_CORE} set # In case we need it in future... require Config; import Config; pop @INC if $INC[-1] eq '.'; } use strict; use warnings; use Getopt::Std; use Config; my @orig_ARGV = @ARGV; our $VERSION = do { my @r = (q$Revision: 2.23 $ =~ /\d+/g); sprintf "%d."."%02d" x $#r, @r }; # These may get re-ordered. # RAW is a do_now as inserted by &enter # AGG is an aggregated do_now, as built up by &process use constant { RAW_NEXT => 0, RAW_IN_LEN => 1, RAW_OUT_BYTES => 2, RAW_FALLBACK => 3, AGG_MIN_IN => 0, AGG_MAX_IN => 1, AGG_OUT_BYTES => 2, AGG_NEXT => 3, AGG_IN_LEN => 4, AGG_OUT_LEN => 5, AGG_FALLBACK => 6, }; # (See the algorithm in encengine.c - we're building structures for it) # There are two sorts of structures. # "do_now" (an array, two variants of what needs storing) is whatever we need # to do now we've read an input byte. # It's housed in a "do_next" (which is how we got to it), and in turn points # to a "do_next" which contains all the "do_now"s for the next input byte. # There will be a "do_next" which is the start state. # For a single byte encoding it's the only "do_next" - each "do_now" points # back to it, and each "do_now" will cause bytes. There is no state. # For a multi-byte encoding where all characters in the input are the same # length, then there will be a tree of "do_now"->"do_next"->"do_now" # branching out from the start state, one step for each input byte. # The leaf "do_now"s will all be at the same distance from the start state, # only the leaf "do_now"s cause output bytes, and they in turn point back to # the start state. # For an encoding where there are variable length input byte sequences, you # will encounter a leaf "do_now" sooner for the shorter input sequences, but # as before the leaves will point back to the start state. # The system will cope with escape encodings (imagine them as a mostly # self-contained tree for each escape state, and cross links between trees # at the state-switching characters) but so far no input format defines these. # The system will also cope with having output "leaves" in the middle of # the bifurcating branches, not just at the extremities, but again no # input format does this yet. # There are two variants of the "do_now" structure. The first, smaller variant # is generated by &enter as the input file is read. There is one structure # for each input byte. Say we are mapping a single byte encoding to a # single byte encoding, with "ABCD" going "abcd". There will be # 4 "do_now"s, {"A" => [...,"a",...], "B" => [...,"b",...], "C"=>..., "D"=>...} # &process then walks the tree, building aggregate "do_now" structures for # adjacent bytes where possible. The aggregate is for a contiguous range of # bytes which each produce the same length of output, each move to the # same next state, and each have the same fallback flag. # So our 4 RAW "do_now"s above become replaced by a single structure # containing: # ["A", "D", "abcd", 1, ...] # ie, for an input byte $_ in "A".."D", output 1 byte, found as # substr ("abcd", (ord $_ - ord "A") * 1, 1) # which maps very nicely into pointer arithmetic in C for encengine.c sub encode_U { # UTF-8 encode long hand - only covers part of perl's range ## my $uv = shift; # chr() works in native space so convert value from table # into that space before using chr(). my $ch = chr(utf8::unicode_to_native($_[0])); # Now get core perl to encode that the way it likes. utf8::encode($ch); return $ch; } sub encode_S { # encode single byte ## my ($ch,$page) = @_; return chr($ch); return chr $_[0]; } sub encode_D { # encode double byte MS byte first ## my ($ch,$page) = @_; return chr($page).chr($ch); return chr ($_[1]) . chr $_[0]; } sub encode_M { # encode Multi-byte - single for 0..255 otherwise double ## my ($ch,$page) = @_; ## return &encode_D if $page; ## return &encode_S; return chr ($_[1]) . chr $_[0] if $_[1]; return chr $_[0]; } my %encode_types = (U => \&encode_U, S => \&encode_S, D => \&encode_D, M => \&encode_M, ); # Win32 does not expand globs on command line if ($^O eq 'MSWin32' and !$ENV{PERL_CORE}) { eval "\@ARGV = map(glob(\$_),\@ARGV)"; @ARGV = @orig_ARGV unless @ARGV; } my %opt; # I think these are: # -Q to disable the duplicate codepoint test # -S make mapping errors fatal # -q to remove comments written to output files # -O to enable the (brute force) substring optimiser # -o <output> to specify the output file name (else it's the first arg) # -f <inlist> to give a file with a list of input files (else use the args) # -n <name> to name the encoding (else use the basename of the input file. #Getopt::Long::Configure("bundling"); #GetOptions(\%opt, qw(C M=s S Q q O o=s f=s n=s v)); getopts('CM:SQqOo:f:n:v',\%opt); $opt{M} and make_makefile_pl($opt{M}, @ARGV); $opt{C} and make_configlocal_pm($opt{C}, @ARGV); $opt{v} ||= $ENV{ENC2XS_VERBOSE}; $opt{q} ||= $ENV{ENC2XS_NO_COMMENTS}; sub verbose { print STDERR @_ if $opt{v}; } sub verbosef { printf STDERR @_ if $opt{v}; } # ($cpp, $static, $sized) = compiler_info($declaration) # # return some information about the compiler and compile options we're using: # # $declaration - true if we're doing a declaration rather than a definition. # # $cpp - we're using C++ # $static - ok to declare the arrays as static # $sized - the array declarations should be sized sub compiler_info { my ($declaration) = @_; my $ccflags = $Config{ccflags}; if (defined $Config{ccwarnflags}) { $ccflags .= " " . $Config{ccwarnflags}; } my $compat = $ccflags =~ /\Q-Wc++-compat/; my $pedantic = $ccflags =~ /-pedantic/; my $cpp = ($Config{d_cplusplus} || '') eq 'define'; # The encpage_t tables contain recursive and mutually recursive # references. To allow them to compile under C++ and some restrictive # cc options, it may be necessary to make the tables non-static/const # (thus moving them from the text to the data segment) and/or not # include the size in the declaration. my $static = !( $cpp || ($compat && $pedantic) || ($^O eq 'MacOS' && $declaration) ); # -Wc++-compat on its own warns if the array declaration is sized. # The easiest way to avoid this warning is simply not to include # the size in the declaration. # With -pedantic as well, the issue doesn't arise because $static # above becomes false. my $sized = $declaration && !($compat && !$pedantic); return ($cpp, $static, $sized); } # This really should go first, else the die here causes empty (non-erroneous) # output files to be written. my @encfiles; if (exists $opt{f}) { # -F is followed by name of file containing list of filenames my $flist = $opt{f}; open(FLIST,$flist) || die "Cannot open $flist:$!"; chomp(@encfiles = <FLIST>); close(FLIST); } else { @encfiles = @ARGV; } my $cname = $opt{o} ? $opt{o} : shift(@ARGV); unless ($cname) { #debuging a win32 nmake error-only. works via cmdline print "\nARGV:"; print "$_ " for @ARGV; print "\nopt:"; print " $_ => ",defined $opt{$_}?$opt{$_}:"undef","\n" for keys %opt; } chmod(0666,$cname) if -f $cname && !-w $cname; open(C,">", $cname) || die "Cannot open $cname:$!"; my $dname = $cname; my $hname = $cname; my ($doC,$doEnc,$doUcm,$doPet); if ($cname =~ /\.(c|xs)$/i) # VMS may have upcased filenames with DECC$ARGV_PARSE_STYLE defined { $doC = 1; $dname =~ s/(\.[^\.]*)?$/.exh/; chmod(0666,$dname) if -f $cname && !-w $dname; open(D,">", $dname) || die "Cannot open $dname:$!"; $hname =~ s/(\.[^\.]*)?$/.h/; chmod(0666,$hname) if -f $cname && !-w $hname; open(H,">", $hname) || die "Cannot open $hname:$!"; foreach my $fh (\*C,\*D,\*H) { print $fh <<"END" unless $opt{'q'}; /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!! This file was autogenerated by: $^X $0 @orig_ARGV enc2xs VERSION $VERSION */ END } if ($cname =~ /(\w+)\.xs$/) { print C "#define PERL_NO_GET_CONTEXT\n"; print C "#include <EXTERN.h>\n"; print C "#include <perl.h>\n"; print C "#include <XSUB.h>\n"; } print C "#include \"encode.h\"\n\n"; } elsif ($cname =~ /\.enc$/) { $doEnc = 1; } elsif ($cname =~ /\.ucm$/) { $doUcm = 1; } elsif ($cname =~ /\.pet$/) { $doPet = 1; } my %encoding; my %strings; my $string_acc; my %strings_in_acc; my $saved = 0; my $subsave = 0; my $strings = 0; sub cmp_name { if ($a =~ /^.*-(\d+)/) { my $an = $1; if ($b =~ /^.*-(\d+)/) { my $r = $an <=> $1; return $r if $r; } } return $a cmp $b; } foreach my $enc (sort cmp_name @encfiles) { my ($name,$sfx) = $enc =~ /^.*?([\w-]+)\.(enc|ucm)$/; $name = $opt{'n'} if exists $opt{'n'}; if (open(E,$enc)) { if ($sfx eq 'enc') { compile_enc(\*E,lc($name)); } else { compile_ucm(\*E,lc($name)); } } else { warn "Cannot open $enc for $name:$!"; } } if ($doC) { verbose "Writing compiled form\n"; foreach my $name (sort cmp_name keys %encoding) { my ($e2u,$u2e,$erep,$min_el,$max_el) = @{$encoding{$name}}; process($name.'_utf8',$e2u); addstrings(\*C,$e2u); process('utf8_'.$name,$u2e); addstrings(\*C,$u2e); } outbigstring(\*C,"enctable"); foreach my $name (sort cmp_name keys %encoding) { my ($e2u,$u2e,$erep,$min_el,$max_el) = @{$encoding{$name}}; outtable(\*C,$e2u, "enctable"); outtable(\*C,$u2e, "enctable"); # push(@{$encoding{$name}},outstring(\*C,$e2u->{Cname}.'_def',$erep)); } my ($cpp) = compiler_info(0); my $ext = $cpp ? 'extern "C"' : "extern"; my $exta = $cpp ? 'extern "C"' : "static"; my $extb = $cpp ? 'extern "C"' : ""; foreach my $enc (sort cmp_name keys %encoding) { # my ($e2u,$u2e,$rep,$min_el,$max_el,$rsym) = @{$encoding{$enc}}; my ($e2u,$u2e,$rep,$min_el,$max_el) = @{$encoding{$enc}}; #my @info = ($e2u->{Cname},$u2e->{Cname},$rsym,length($rep),$min_el,$max_el); my $replen = 0; $replen++ while($rep =~ /\G\\x[0-9A-Fa-f]/g); my $sym = "${enc}_encoding"; $sym =~ s/\W+/_/g; my @info = ($e2u->{Cname},$u2e->{Cname},"${sym}_rep_character",$replen, $min_el,$max_el); print C "${exta} const U8 ${sym}_rep_character[] = \"$rep\";\n"; print C "${exta} const char ${sym}_enc_name[] = \"$enc\";\n\n"; print C "${extb} const encode_t $sym = \n"; # This is to make null encoding work -- dankogai for (my $i = (scalar @info) - 1; $i >= 0; --$i){ $info[$i] ||= 1; } # end of null tweak -- dankogai print C " {",join(',',@info,"{${sym}_enc_name,(const char *)0}"),"};\n\n"; } foreach my $enc (sort cmp_name keys %encoding) { my $sym = "${enc}_encoding"; $sym =~ s/\W+/_/g; print H "${ext} encode_t $sym;\n"; print D " Encode_XSEncoding(aTHX_ &$sym);\n"; } if ($cname =~ /(\w+)\.xs$/) { my $mod = $1; print C <<'END'; static void Encode_XSEncoding(pTHX_ encode_t *enc) { dSP; HV *stash = gv_stashpv("Encode::XS", TRUE); SV *iv = newSViv(PTR2IV(enc)); SV *sv = sv_bless(newRV_noinc(iv),stash); int i = 0; /* with the SvLEN() == 0 hack, PVX won't be freed. We cast away name's constness, in the hope that perl won't mess with it. */ assert(SvTYPE(iv) >= SVt_PV); assert(SvLEN(iv) == 0); SvFLAGS(iv) |= SVp_POK; SvPVX(iv) = (char*) enc->name[0]; PUSHMARK(sp); XPUSHs(sv); while (enc->name[i]) { const char *name = enc->name[i++]; XPUSHs(sv_2mortal(newSVpvn(name,strlen(name)))); } PUTBACK; call_pv("Encode::define_encoding",G_DISCARD); SvREFCNT_dec(sv); } END print C "\nMODULE = Encode::$mod\tPACKAGE = Encode::$mod\n\n"; print C "BOOT:\n{\n"; print C "#include \"$dname\"\n"; print C "}\n"; } # Close in void context is bad, m'kay close(D) or warn "Error closing '$dname': $!"; close(H) or warn "Error closing '$hname': $!"; my $perc_saved = $saved/($strings + $saved) * 100; my $perc_subsaved = $subsave/($strings + $subsave) * 100; verbosef "%d bytes in string tables\n",$strings; verbosef "%d bytes (%.3g%%) saved spotting duplicates\n", $saved, $perc_saved if $saved; verbosef "%d bytes (%.3g%%) saved using substrings\n", $subsave, $perc_subsaved if $subsave; } elsif ($doEnc) { foreach my $name (sort cmp_name keys %encoding) { my ($e2u,$u2e,$erep,$min_el,$max_el) = @{$encoding{$name}}; output_enc(\*C,$name,$e2u); } } elsif ($doUcm) { foreach my $name (sort cmp_name keys %encoding) { my ($e2u,$u2e,$erep,$min_el,$max_el) = @{$encoding{$name}}; output_ucm(\*C,$name,$u2e,$erep,$min_el,$max_el); } } # writing half meg files and then not checking to see if you just filled the # disk is bad, m'kay close(C) or die "Error closing '$cname': $!"; # End of the main program. sub compile_ucm { my ($fh,$name) = @_; my $e2u = {}; my $u2e = {}; my $cs; my %attr; while (<$fh>) { s/#.*$//; last if /^\s*CHARMAP\s*$/i; if (/^\s*<(\w+)>\s+"?([^"]*)"?\s*$/i) # " # Grrr { $attr{$1} = $2; } } if (!defined($cs = $attr{'code_set_name'})) { warn "No <code_set_name> in $name\n"; } else { $name = $cs unless exists $opt{'n'}; } my $erep; my $urep; my $max_el; my $min_el; if (exists $attr{'subchar'}) { #my @byte; #$attr{'subchar'} =~ /^\s*/cg; #push(@byte,$1) while $attr{'subchar'} =~ /\G\\x([0-9a-f]+)/icg; #$erep = join('',map(chr(hex($_)),@byte)); $erep = $attr{'subchar'}; $erep =~ s/^\s+//; $erep =~ s/\s+$//; } print "Reading $name ($cs)\n" unless defined $ENV{MAKEFLAGS} and $ENV{MAKEFLAGS} =~ /\b(s|silent|quiet)\b/; my $nfb = 0; my $hfb = 0; while (<$fh>) { s/#.*$//; last if /^\s*END\s+CHARMAP\s*$/i; next if /^\s*$/; my (@uni, @byte) = (); my ($uni, $byte, $fb) = m/^(\S+)\s+(\S+)\s+(\S+)\s+/o or die "Bad line: $_"; while ($uni =~ m/\G<([U0-9a-fA-F\+]+)>/g){ push @uni, map { substr($_, 1) } split(/\+/, $1); } while ($byte =~ m/\G\\x([0-9a-fA-F]+)/g){ push @byte, $1; } if (@uni) { my $uch = join('', map { encode_U(hex($_)) } @uni ); my $ech = join('',map(chr(hex($_)),@byte)); my $el = length($ech); $max_el = $el if (!defined($max_el) || $el > $max_el); $min_el = $el if (!defined($min_el) || $el < $min_el); if (length($fb)) { $fb = substr($fb,1); $hfb++; } else { $nfb++; $fb = '0'; } # $fb is fallback flag # 0 - round trip safe # 1 - fallback for unicode -> enc # 2 - skip sub-char mapping # 3 - fallback enc -> unicode enter($u2e,$uch,$ech,$u2e,$fb+0) if ($fb =~ /[01]/); enter($e2u,$ech,$uch,$e2u,$fb+0) if ($fb =~ /[03]/); } else { warn $_; } } if ($nfb && $hfb) { die "$nfb entries without fallback, $hfb entries with\n"; } $encoding{$name} = [$e2u,$u2e,$erep,$min_el,$max_el]; } sub compile_enc { my ($fh,$name) = @_; my $e2u = {}; my $u2e = {}; my $type; while ($type = <$fh>) { last if $type !~ /^\s*#/; } chomp($type); return if $type eq 'E'; # Do the hash lookup once, rather than once per function call. 4% speedup. my $type_func = $encode_types{$type}; my ($def,$sym,$pages) = split(/\s+/,scalar(<$fh>)); warn "$type encoded $name\n"; my $rep = ''; # Save a defined test by setting these to defined values. my $min_el = ~0; # A very big integer my $max_el = 0; # Anything must be longer than 0 { my $v = hex($def); $rep = &$type_func($v & 0xFF, ($v >> 8) & 0xffe); } my $errors; my $seen; # use -Q to silence the seen test. Makefile.PL uses this by default. $seen = {} unless $opt{Q}; do { my $line = <$fh>; chomp($line); my $page = hex($line); my $ch = 0; my $i = 16; do { # So why is it 1% faster to leave the my here? my $line = <$fh>; $line =~ s/\r\n$/\n/; die "$.:${line}Line should be exactly 65 characters long including newline (".length($line).")" unless length ($line) == 65; # Split line into groups of 4 hex digits, convert groups to ints # This takes 65.35 # map {hex $_} $line =~ /(....)/g # This takes 63.75 (2.5% less time) # unpack "n*", pack "H*", $line # There's an implicit loop in map. Loops are bad, m'kay. Ops are bad, m'kay # Doing it as while ($line =~ /(....)/g) took 74.63 foreach my $val (unpack "n*", pack "H*", $line) { next if $val == 0xFFFD; my $ech = &$type_func($ch,$page); if ($val || (!$ch && !$page)) { my $el = length($ech); $max_el = $el if $el > $max_el; $min_el = $el if $el < $min_el; my $uch = encode_U($val); if ($seen) { # We're doing the test. # We don't need to read this quickly, so storing it as a scalar, # rather than 3 (anon array, plus the 2 scalars it holds) saves # RAM and may make us faster on low RAM systems. [see __END__] if (exists $seen->{$uch}) { warn sprintf("U%04X is %02X%02X and %04X\n", $val,$page,$ch,$seen->{$uch}); $errors++; } else { $seen->{$uch} = $page << 8 | $ch; } } # Passing 2 extra args each time is 3.6% slower! # Even with having to add $fallback ||= 0 later enter_fb0($e2u,$ech,$uch); enter_fb0($u2e,$uch,$ech); } else { # No character at this position # enter($e2u,$ech,undef,$e2u); } $ch++; } } while --$i; } while --$pages; die "\$min_el=$min_el, \$max_el=$max_el - seems we read no lines" if $min_el > $max_el; die "$errors mapping conflicts\n" if ($errors && $opt{'S'}); $encoding{$name} = [$e2u,$u2e,$rep,$min_el,$max_el]; } # my ($a,$s,$d,$t,$fb) = @_; sub enter { my ($current,$inbytes,$outbytes,$next,$fallback) = @_; # state we shift to after this (multibyte) input character defaults to same # as current state. $next ||= $current; # Making sure it is defined seems to be faster than {no warnings;} in # &process, or passing it in as 0 explicitly. # XXX $fallback ||= 0; # Start at the beginning and work forwards through the string to zero. # effectively we are removing 1 character from the front each time # but we don't actually edit the string. [this alone seems to be 14% speedup] # Hence -$pos is the length of the remaining string. my $pos = -length $inbytes; while (1) { my $byte = substr $inbytes, $pos, 1; # RAW_NEXT => 0, # RAW_IN_LEN => 1, # RAW_OUT_BYTES => 2, # RAW_FALLBACK => 3, # to unicode an array would seem to be better, because the pages are dense. # from unicode can be very sparse, favouring a hash. # hash using the bytes (all length 1) as keys rather than ord value, # as it's easier to sort these in &process. # It's faster to always add $fallback even if it's undef, rather than # choosing between 3 and 4 element array. (hence why we set it defined # above) my $do_now = $current->{Raw}{$byte} ||= [{},-$pos,'',$fallback]; # When $pos was -1 we were at the last input character. unless (++$pos) { $do_now->[RAW_OUT_BYTES] = $outbytes; $do_now->[RAW_NEXT] = $next; return; } # Tail recursion. The intermediate state may not have a name yet. $current = $do_now->[RAW_NEXT]; } } # This is purely for optimisation. It's just &enter hard coded for $fallback # of 0, using only a 3 entry array ref to save memory for every entry. sub enter_fb0 { my ($current,$inbytes,$outbytes,$next) = @_; $next ||= $current; my $pos = -length $inbytes; while (1) { my $byte = substr $inbytes, $pos, 1; my $do_now = $current->{Raw}{$byte} ||= [{},-$pos,'']; unless (++$pos) { $do_now->[RAW_OUT_BYTES] = $outbytes; $do_now->[RAW_NEXT] = $next; return; } $current = $do_now->[RAW_NEXT]; } } sub process { my ($name,$a) = @_; $name =~ s/\W+/_/g; $a->{Cname} = $name; my $raw = $a->{Raw}; my ($l, $agg_max_in, $agg_next, $agg_in_len, $agg_out_len, $agg_fallback); my @ent; $agg_max_in = 0; foreach my $key (sort keys %$raw) { # RAW_NEXT => 0, # RAW_IN_LEN => 1, # RAW_OUT_BYTES => 2, # RAW_FALLBACK => 3, my ($next, $in_len, $out_bytes, $fallback) = @{$raw->{$key}}; # Now we are converting from raw to aggregate, switch from 1 byte strings # to numbers my $b = ord $key; $fallback ||= 0; if ($l && # If this == fails, we're going to reset $agg_max_in below anyway. $b == ++$agg_max_in && # References in numeric context give the pointer as an int. $agg_next == $next && $agg_in_len == $in_len && $agg_out_len == length $out_bytes && $agg_fallback == $fallback # && length($l->[AGG_OUT_BYTES]) < 16 ) { # my $i = ord($b)-ord($l->[AGG_MIN_IN]); # we can aggregate this byte onto the end. $l->[AGG_MAX_IN] = $b; $l->[AGG_OUT_BYTES] .= $out_bytes; } else { # AGG_MIN_IN => 0, # AGG_MAX_IN => 1, # AGG_OUT_BYTES => 2, # AGG_NEXT => 3, # AGG_IN_LEN => 4, # AGG_OUT_LEN => 5, # AGG_FALLBACK => 6, # Reset the last thing we saw, plus set 5 lexicals to save some derefs. # (only gains .6% on euc-jp -- is it worth it?) push @ent, $l = [$b, $agg_max_in = $b, $out_bytes, $agg_next = $next, $agg_in_len = $in_len, $agg_out_len = length $out_bytes, $agg_fallback = $fallback]; } if (exists $next->{Cname}) { $next->{'Forward'} = 1 if $next != $a; } else { process(sprintf("%s_%02x",$name,$b),$next); } } # encengine.c rules say that last entry must be for 255 if ($agg_max_in < 255) { push @ent, [1+$agg_max_in, 255,undef,$a,0,0]; } $a->{'Entries'} = \@ent; } sub addstrings { my ($fh,$a) = @_; my $name = $a->{'Cname'}; # String tables foreach my $b (@{$a->{'Entries'}}) { next unless $b->[AGG_OUT_LEN]; $strings{$b->[AGG_OUT_BYTES]} = undef; } if ($a->{'Forward'}) { my ($cpp, $static, $sized) = compiler_info(1); my $count = $sized ? scalar(@{$a->{'Entries'}}) : ''; if ($static) { # we cannot ask Config for d_plusplus since we can override CC=g++-6 on the cmdline print $fh "#ifdef __cplusplus\n"; # -fpermissive since g++-6 print $fh "extern encpage_t $name\[$count];\n"; print $fh "#else\n"; print $fh "static const encpage_t $name\[$count];\n"; print $fh "#endif\n"; } else { print $fh "extern encpage_t $name\[$count];\n"; } } $a->{'DoneStrings'} = 1; foreach my $b (@{$a->{'Entries'}}) { my ($s,$e,$out,$t,$end,$l) = @$b; addstrings($fh,$t) unless $t->{'DoneStrings'}; } } sub outbigstring { my ($fh,$name) = @_; $string_acc = ''; # Make the big string in the string accumulator. Longest first, on the hope # that this makes it more likely that we find the short strings later on. # Not sure if it helps sorting strings of the same length lexically. foreach my $s (sort {length $b <=> length $a || $a cmp $b} keys %strings) { my $index = index $string_acc, $s; if ($index >= 0) { $saved += length($s); $strings_in_acc{$s} = $index; } else { OPTIMISER: { if ($opt{'O'}) { my $sublength = length $s; while (--$sublength > 0) { # progressively lop characters off the end, to see if the start of # the new string overlaps the end of the accumulator. if (substr ($string_acc, -$sublength) eq substr ($s, 0, $sublength)) { $subsave += $sublength; $strings_in_acc{$s} = length ($string_acc) - $sublength; # append the last bit on the end. $string_acc .= substr ($s, $sublength); last OPTIMISER; } # or if the end of the new string overlaps the start of the # accumulator next unless substr ($string_acc, 0, $sublength) eq substr ($s, -$sublength); # well, the last $sublength characters of the accumulator match. # so as we're prepending to the accumulator, need to shift all our # existing offsets forwards $_ += $sublength foreach values %strings_in_acc; $subsave += $sublength; $strings_in_acc{$s} = 0; # append the first bit on the start. $string_acc = substr ($s, 0, -$sublength) . $string_acc; last OPTIMISER; } } # Optimiser (if it ran) found nothing, so just going have to tack the # whole thing on the end. $strings_in_acc{$s} = length $string_acc; $string_acc .= $s; }; } } $strings = length $string_acc; my ($cpp) = compiler_info(0); my $var = $cpp ? '' : 'static'; my $definition = "\n$var const U8 $name\[$strings] = { " . join(',',unpack "C*",$string_acc); # We have a single long line. Split it at convenient commas. print $fh $1, "\n" while $definition =~ /\G(.{74,77},)/gcs; print $fh substr ($definition, pos $definition), " };\n"; } sub findstring { my ($name,$s) = @_; my $offset = $strings_in_acc{$s}; die "Can't find string " . join (',',unpack "C*",$s) . " in accumulator" unless defined $offset; "$name + $offset"; } sub outtable { my ($fh,$a,$bigname) = @_; my $name = $a->{'Cname'}; $a->{'Done'} = 1; foreach my $b (@{$a->{'Entries'}}) { my ($s,$e,$out,$t,$end,$l) = @$b; outtable($fh,$t,$bigname) unless $t->{'Done'}; } my ($cpp, $static) = compiler_info(0); my $count = scalar(@{$a->{'Entries'}}); if ($static) { print $fh "#ifdef __cplusplus\n"; # -fpermissive since g++-6 print $fh "encpage_t $name\[$count] = {\n"; print $fh "#else\n"; print $fh "static const encpage_t $name\[$count] = {\n"; print $fh "#endif\n"; } else { print $fh "\nencpage_t $name\[$count] = {\n"; } foreach my $b (@{$a->{'Entries'}}) { my ($sc,$ec,$out,$t,$end,$l,$fb) = @$b; # $end |= 0x80 if $fb; # what the heck was on your mind, Nick? -- Dan print $fh "{"; if ($l) { printf $fh findstring($bigname,$out); } else { print $fh "0"; } print $fh ",",$t->{Cname}; printf $fh ",0x%02x,0x%02x,$l,$end},\n",$sc,$ec; } print $fh "};\n"; } sub output_enc { my ($fh,$name,$a) = @_; die "Changed - fix me for new structure"; foreach my $b (sort keys %$a) { my ($s,$e,$out,$t,$end,$l,$fb) = @{$a->{$b}}; } } sub decode_U { my $s = shift; } my @uname; sub char_names{} # cf. https://rt.cpan.org/Ticket/Display.html?id=132471 sub output_ucm_page { my ($cmap,$a,$t,$pre) = @_; # warn sprintf("Page %x\n",$pre); my $raw = $t->{Raw}; foreach my $key (sort keys %$raw) { # RAW_NEXT => 0, # RAW_IN_LEN => 1, # RAW_OUT_BYTES => 2, # RAW_FALLBACK => 3, my ($next, $in_len, $out_bytes, $fallback) = @{$raw->{$key}}; my $u = ord $key; $fallback ||= 0; if ($next != $a && $next != $t) { output_ucm_page($cmap,$a,$next,(($pre|($u &0x3F)) << 6)&0xFFFF); } elsif (length $out_bytes) { if ($pre) { $u = $pre|($u &0x3f); } my $s = sprintf "<U%04X> ",$u; #foreach my $c (split(//,$out_bytes)) { # $s .= sprintf "\\x%02X",ord($c); #} # 9.5% faster changing that loop to this: $s .= sprintf +("\\x%02X" x length $out_bytes), unpack "C*", $out_bytes; $s .= sprintf " |%d # %s\n",($fallback ? 1 : 0),$uname[$u]; push(@$cmap,$s); } else { warn join(',',$u, @{$raw->{$key}},$a,$t); } } } sub output_ucm { my ($fh,$name,$h,$rep,$min_el,$max_el) = @_; print $fh "# $0 @orig_ARGV\n" unless $opt{'q'}; print $fh "<code_set_name> \"$name\"\n"; char_names(); if (defined $min_el) { print $fh "<mb_cur_min> $min_el\n"; } if (defined $max_el) { print $fh "<mb_cur_max> $max_el\n"; } if (defined $rep) { print $fh "<subchar> "; foreach my $c (split(//,$rep)) { printf $fh "\\x%02X",ord($c); } print $fh "\n"; } my @cmap; output_ucm_page(\@cmap,$h,$h,0); print $fh "#\nCHARMAP\n"; foreach my $line (sort { substr($a,8) cmp substr($b,8) } @cmap) { print $fh $line; } print $fh "END CHARMAP\n"; } use vars qw( $_Enc2xs $_Version $_Inc $_E2X $_Name $_TableFiles $_Now ); sub find_e2x{ eval { require File::Find; }; my (@inc, %e2x_dir); for my $inc (grep -d, @INC){ push @inc, $inc unless $inc eq '.'; #skip current dir } File::Find::find( { wanted => sub { my ($dev,$ino,$mode,$nlink,$uid,$gid,$rdev,$size, $atime,$mtime,$ctime,$blksize,$blocks) = lstat($_) or return; -f _ or return; if (/^.*\.e2x$/o){ no warnings 'once'; $e2x_dir{$File::Find::dir} ||= $mtime; } return; }, follow => 1}, @inc); warn join("\n", keys %e2x_dir), "\n"; for my $d (sort {$e2x_dir{$a} <=> $e2x_dir{$b}} keys %e2x_dir){ $_E2X = $d; # warn "$_E2X => ", scalar localtime($e2x_dir{$d}); return $_E2X; } } sub make_makefile_pl { eval { require Encode } or die "You need to install Encode to use enc2xs -M\nerror: $@\n"; # our used for variable expansion $_Enc2xs = $0; $_Version = $VERSION; $_E2X = find_e2x(); $_Name = shift; $_TableFiles = join(",", map {qq('$_')} @_); $_Now = scalar localtime(); eval { require File::Spec; }; _print_expand(File::Spec->catfile($_E2X,"Makefile_PL.e2x"),"Makefile.PL"); _print_expand(File::Spec->catfile($_E2X,"_PM.e2x"), "$_Name.pm"); _print_expand(File::Spec->catfile($_E2X,"_T.e2x"), "t/$_Name.t"); _print_expand(File::Spec->catfile($_E2X,"README.e2x"), "README"); _print_expand(File::Spec->catfile($_E2X,"Changes.e2x"), "Changes"); exit; } use vars qw( $_ModLines $_LocalVer ); sub make_configlocal_pm { eval { require Encode } or die "Unable to require Encode: $@\n"; eval { require File::Spec; }; # our used for variable expantion my %in_core = map { $_ => 1 } ( 'ascii', 'iso-8859-1', 'utf8', 'ascii-ctrl', 'null', 'utf-8-strict' ); my %LocalMod = (); # check @enc; use File::Find (); my $wanted = sub{ -f $_ or return; $File::Find::name =~ /\A\./ and return; $File::Find::name =~ /\.pm\z/ or return; $File::Find::name =~ m/\bEncode\b/ or return; my $mod = $File::Find::name; $mod =~ s/.*\bEncode\b/Encode/o; $mod =~ s/\.pm\z//o; $mod =~ s,/,::,og; eval qq{ require $mod; } or return; warn qq{ require $mod;\n}; for my $enc ( Encode->encodings() ) { no warnings; $in_core{$enc} and next; $Encode::Config::ExtModule{$enc} and next; $LocalMod{$enc} ||= $mod; } }; File::Find::find({wanted => $wanted, follow => 1}, grep -d && !/^\./, @INC); $_ModLines = ""; for my $enc ( sort keys %LocalMod ) { $_ModLines .= qq(\$Encode::ExtModule{'$enc'} = "$LocalMod{$enc}";\n); } warn $_ModLines if $_ModLines; $_LocalVer = _mkversion(); $_E2X = find_e2x(); $_Inc = $INC{"Encode.pm"}; $_Inc =~ s/\.pm$//o; _print_expand( File::Spec->catfile( $_E2X, "ConfigLocal_PM.e2x" ), File::Spec->catfile( $_Inc, "ConfigLocal.pm" ), 1 ); exit; } sub _mkversion{ # v-string is now depreciated; use time() instead; #my ($ss,$mm,$hh,$dd,$mo,$yyyy) = localtime(); #$yyyy += 1900, $mo +=1; #return sprintf("v%04d.%04d.%04d", $yyyy, $mo*100+$dd, $hh*100+$mm); return time(); } sub _print_expand{ eval { require File::Basename } or die "File::Basename needed. Are you on miniperl?;\nerror: $@\n"; File::Basename->import(); my ($src, $dst, $clobber) = @_; if (!$clobber and -e $dst){ warn "$dst exists. skipping\n"; return; } warn "Generating $dst...\n"; open my $in, $src or die "$src : $!"; if ((my $d = dirname($dst)) ne '.'){ -d $d or mkdir $d, 0755 or die "mkdir $d : $!"; } open my $out, ">", $dst or die "$!"; my $asis = 0; while (<$in>){ if (/^#### END_OF_HEADER/){ $asis = 1; next; } s/(\$_[A-Z][A-Za-z0-9]+)_/$1/gee unless $asis; print $out $_; } } __END__ =head1 NAME enc2xs -- Perl Encode Module Generator =head1 SYNOPSIS enc2xs -[options] enc2xs -M ModName mapfiles... enc2xs -C =head1 DESCRIPTION F<enc2xs> builds a Perl extension for use by Encode from either Unicode Character Mapping files (.ucm) or Tcl Encoding Files (.enc). Besides being used internally during the build process of the Encode module, you can use F<enc2xs> to add your own encoding to perl. No knowledge of XS is necessary. =head1 Quick Guide If you want to know as little about Perl as possible but need to add a new encoding, just read this chapter and forget the rest. =over 4 =item 0.Z<> Have a .ucm file ready. You can get it from somewhere or you can write your own from scratch or you can grab one from the Encode distribution and customize it. For the UCM format, see the next Chapter. In the example below, I'll call my theoretical encoding myascii, defined in I<my.ucm>. C<$> is a shell prompt. $ ls -F my.ucm =item 1.Z<> Issue a command as follows; $ enc2xs -M My my.ucm generating Makefile.PL generating My.pm generating README generating Changes Now take a look at your current directory. It should look like this. $ ls -F Makefile.PL My.pm my.ucm t/ The following files were created. Makefile.PL - MakeMaker script My.pm - Encode submodule t/My.t - test file =over 4 =item 1.1.Z<> If you want *.ucm installed together with the modules, do as follows; $ mkdir Encode $ mv *.ucm Encode $ enc2xs -M My Encode/*ucm =back =item 2.Z<> Edit the files generated. You don't have to if you have no time AND no intention to give it to someone else. But it is a good idea to edit the pod and to add more tests. =item 3.Z<> Now issue a command all Perl Mongers love: $ perl Makefile.PL Writing Makefile for Encode::My =item 4.Z<> Now all you have to do is make. $ make cp My.pm blib/lib/Encode/My.pm /usr/local/bin/perl /usr/local/bin/enc2xs -Q -O \ -o encode_t.c -f encode_t.fnm Reading myascii (myascii) Writing compiled form 128 bytes in string tables 384 bytes (75%) saved spotting duplicates 1 bytes (0.775%) saved using substrings .... chmod 644 blib/arch/auto/Encode/My/My.bs $ The time it takes varies depending on how fast your machine is and how large your encoding is. Unless you are working on something big like euc-tw, it won't take too long. =item 5.Z<> You can "make install" already but you should test first. $ make test PERL_DL_NONLAZY=1 /usr/local/bin/perl -Iblib/arch -Iblib/lib \ -e 'use Test::Harness qw(&runtests $verbose); \ $verbose=0; runtests @ARGV;' t/*.t t/My....ok All tests successful. Files=1, Tests=2, 0 wallclock secs ( 0.09 cusr + 0.01 csys = 0.09 CPU) =item 6.Z<> If you are content with the test result, just "make install" =item 7.Z<> If you want to add your encoding to Encode's demand-loading list (so you don't have to "use Encode::YourEncoding"), run enc2xs -C to update Encode::ConfigLocal, a module that controls local settings. After that, "use Encode;" is enough to load your encodings on demand. =back =head1 The Unicode Character Map Encode uses the Unicode Character Map (UCM) format for source character mappings. This format is used by IBM's ICU package and was adopted by Nick Ing-Simmons for use with the Encode module. Since UCM is more flexible than Tcl's Encoding Map and far more user-friendly, this is the recommended format for Encode now. A UCM file looks like this. # # Comments # <code_set_name> "US-ascii" # Required <code_set_alias> "ascii" # Optional <mb_cur_min> 1 # Required; usually 1 <mb_cur_max> 1 # Max. # of bytes/char <subchar> \x3F # Substitution char # CHARMAP <U0000> \x00 |0 # <control> <U0001> \x01 |0 # <control> <U0002> \x02 |0 # <control> .... <U007C> \x7C |0 # VERTICAL LINE <U007D> \x7D |0 # RIGHT CURLY BRACKET <U007E> \x7E |0 # TILDE <U007F> \x7F |0 # <control> END CHARMAP =over 4 =item * Anything that follows C<#> is treated as a comment. =item * The header section continues until a line containing the word CHARMAP. This section has a form of I<E<lt>keywordE<gt> value>, one pair per line. Strings used as values must be quoted. Barewords are treated as numbers. I<\xXX> represents a byte. Most of the keywords are self-explanatory. I<subchar> means substitution character, not subcharacter. When you decode a Unicode sequence to this encoding but no matching character is found, the byte sequence defined here will be used. For most cases, the value here is \x3F; in ASCII, this is a question mark. =item * CHARMAP starts the character map section. Each line has a form as follows: <UXXXX> \xXX.. |0 # comment ^ ^ ^ | | +- Fallback flag | +-------- Encoded byte sequence +-------------- Unicode Character ID in hex The format is roughly the same as a header section except for the fallback flag: | followed by 0..3. The meaning of the possible values is as follows: =over 4 =item |0 Round trip safe. A character decoded to Unicode encodes back to the same byte sequence. Most characters have this flag. =item |1 Fallback for unicode -> encoding. When seen, enc2xs adds this character for the encode map only. =item |2 Skip sub-char mapping should there be no code point. =item |3 Fallback for encoding -> unicode. When seen, enc2xs adds this character for the decode map only. =back =item * And finally, END OF CHARMAP ends the section. =back When you are manually creating a UCM file, you should copy ascii.ucm or an existing encoding which is close to yours, rather than write your own from scratch. When you do so, make sure you leave at least B<U0000> to B<U0020> as is, unless your environment is EBCDIC. B<CAVEAT>: not all features in UCM are implemented. For example, icu:state is not used. Because of that, you need to write a perl module if you want to support algorithmical encodings, notably the ISO-2022 series. Such modules include L<Encode::JP::2022_JP>, L<Encode::KR::2022_KR>, and L<Encode::TW::HZ>. =head2 Coping with duplicate mappings When you create a map, you SHOULD make your mappings round-trip safe. That is, C<encode('your-encoding', decode('your-encoding', $data)) eq $data> stands for all characters that are marked as C<|0>. Here is how to make sure: =over 4 =item * Sort your map in Unicode order. =item * When you have a duplicate entry, mark either one with '|1' or '|3'. =item * And make sure the '|1' or '|3' entry FOLLOWS the '|0' entry. =back Here is an example from big5-eten. <U2550> \xF9\xF9 |0 <U2550> \xA2\xA4 |3 Internally Encoding -> Unicode and Unicode -> Encoding Map looks like this; E to U U to E -------------------------------------- \xF9\xF9 => U2550 U2550 => \xF9\xF9 \xA2\xA4 => U2550 So it is round-trip safe for \xF9\xF9. But if the line above is upside down, here is what happens. E to U U to E -------------------------------------- \xA2\xA4 => U2550 U2550 => \xF9\xF9 (\xF9\xF9 => U2550 is now overwritten!) The Encode package comes with F<ucmlint>, a crude but sufficient utility to check the integrity of a UCM file. Check under the Encode/bin directory for this. When in doubt, you can use F<ucmsort>, yet another utility under Encode/bin directory. =head1 Bookmarks =over 4 =item * ICU Home Page L<http://www.icu-project.org/> =item * ICU Character Mapping Tables L<http://site.icu-project.org/charts/charset> =item * ICU:Conversion Data L<http://www.icu-project.org/userguide/conversion-data.html> =back =head1 SEE ALSO L<Encode>, L<perlmod>, L<perlpod> =cut # -Q to disable the duplicate codepoint test # -S make mapping errors fatal # -q to remove comments written to output files # -O to enable the (brute force) substring optimiser # -o <output> to specify the output file name (else it's the first arg) # -f <inlist> to give a file with a list of input files (else use the args) # -n <name> to name the encoding (else use the basename of the input file. With %seen holding array refs: 865.66 real 28.80 user 8.79 sys 7904 maximum resident set size 1356 average shared memory size 18566 average unshared data size 229 average unshared stack size 46080 page reclaims 33373 page faults With %seen holding simple scalars: 342.16 real 27.11 user 3.54 sys 8388 maximum resident set size 1394 average shared memory size 14969 average unshared data size 236 average unshared stack size 28159 page reclaims 9839 page faults Yes, 5 minutes is faster than 15. Above is for CP936 in CN. Only difference is how %seen is storing things its seen. So it is pathalogically bad on a 16M RAM machine, but it's going to help even on modern machines. Swapping is bad, m'kay :-)
New name for
Are you sure will delete
?
New date for
New perm for
Name
Type
Size
Permission
Last Modified
Actions
.
DIR
-
drwxr-xr-x
2021-12-22 12:22:35
..
DIR
-
drwxr-xr-x
2021-12-20 12:00:00
[
application/x-pie-executable
58.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
ab
application/x-pie-executable
58.34 KB
-rwxr-xr-x
2021-10-07 05:49:44
addpart
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
addr2line
application/x-pie-executable
31.13 KB
-rwxr-xr-x
2021-02-20 03:38:30
apt
application/x-pie-executable
18.23 KB
-rwxr-xr-x
2021-06-10 08:53:34
apt-cache
application/x-pie-executable
86.3 KB
-rwxr-xr-x
2021-06-10 08:53:34
apt-cdrom
application/x-pie-executable
26.3 KB
-rwxr-xr-x
2021-06-10 08:53:34
apt-config
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2021-06-10 08:53:34
apt-get
application/x-pie-executable
46.3 KB
-rwxr-xr-x
2021-06-10 08:53:34
apt-key
text/x-shellscript
27.53 KB
-rwxr-xr-x
2021-06-10 08:53:34
apt-mark
application/x-pie-executable
50.3 KB
-rwxr-xr-x
2021-06-10 08:53:34
ar
application/x-pie-executable
50.97 KB
-rwxr-xr-x
2021-02-20 03:38:30
arch
application/x-pie-executable
38.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
as
application/x-pie-executable
461.18 KB
-rwxr-xr-x
2021-02-20 03:38:30
autoconf
text/x-shellscript
14.42 KB
-rwxr-xr-x
2020-12-25 09:25:29
autoheader
text/x-perl
8.33 KB
-rwxr-xr-x
2020-12-25 09:25:29
autom4te
text/x-perl
31.9 KB
-rwxr-xr-x
2020-12-25 09:25:29
autoreconf
text/x-perl
20.67 KB
-rwxr-xr-x
2020-12-25 09:25:29
autoscan
text/x-perl
16.73 KB
-rwxr-xr-x
2020-12-25 09:25:29
autoupdate
text/x-perl
33.08 KB
-rwxr-xr-x
2020-12-25 09:25:29
awk
application/x-pie-executable
154.59 KB
-rwxr-xr-x
2020-02-16 07:41:09
b2sum
application/x-pie-executable
58.94 KB
-rwxr-xr-x
2020-09-24 08:36:09
base32
application/x-pie-executable
42.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
base64
application/x-pie-executable
42.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
basename
application/x-pie-executable
38.78 KB
-rwxr-xr-x
2020-09-24 08:36:09
basenc
application/x-pie-executable
54.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
bashbug
text/x-shellscript
6.6 KB
-rwxr-xr-x
2021-08-04 08:25:59
c++
application/x-executable
802.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
c++filt
application/x-pie-executable
126.46 KB
-rwxr-xr-x
2021-02-20 03:38:30
c89
text/x-shellscript
428 B
-rwxr-xr-x
2013-06-12 09:03:20
c89-gcc
text/x-shellscript
428 B
-rwxr-xr-x
2013-06-12 09:03:20
c99
text/x-shellscript
454 B
-rwxr-xr-x
2013-06-12 09:03:20
c99-gcc
text/x-shellscript
454 B
-rwxr-xr-x
2013-06-12 09:03:20
c_rehash
text/x-perl
6.18 KB
-rwxr-xr-x
2021-08-24 08:28:12
captoinfo
application/x-pie-executable
90.27 KB
-rwxr-xr-x
2021-01-01 03:02:10
catchsegv
text/x-shellscript
3.23 KB
-rwxr-xr-x
2021-10-02 12:47:40
cc
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
chage
application/x-pie-executable
78.38 KB
-rwxr-sr-x
2020-02-07 02:54:14
chattr
application/x-pie-executable
14.16 KB
-rwxr-xr-x
2021-06-07 11:27:15
chcon
application/x-pie-executable
71.06 KB
-rwxr-xr-x
2020-09-24 08:36:09
checkgid
application/x-pie-executable
14.16 KB
-rwxr-xr-x
2021-10-07 05:49:44
chfn
application/x-pie-executable
57.05 KB
-rwsr-xr-x
2020-02-07 02:54:14
choom
application/x-pie-executable
50.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
chrt
application/x-pie-executable
34.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
chsh
application/x-pie-executable
51.64 KB
-rwsr-xr-x
2020-02-07 02:54:14
cksum
application/x-pie-executable
38.78 KB
-rwxr-xr-x
2020-09-24 08:36:09
clear
application/x-pie-executable
14.16 KB
-rwxr-xr-x
2021-01-01 03:02:10
clear_console
application/x-pie-executable
14.3 KB
-rwxr-xr-x
2021-08-04 08:25:59
cmp
application/x-pie-executable
46.78 KB
-rwxr-xr-x
2021-01-01 05:52:00
comm
application/x-pie-executable
42.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
compose
text/x-perl
18.05 KB
-rwxr-xr-x
2021-02-25 06:24:36
corelist
text/x-perl
15.01 KB
-rwxr-xr-x
2021-09-24 04:10:58
cpan
text/x-perl
8.16 KB
-rwxr-xr-x
2021-09-24 04:10:58
cpan5.32-x86_64-linux-gnu
text/x-perl
8.18 KB
-rwxr-xr-x
2021-09-24 04:10:58
cpp
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
cpp-10
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
csplit
application/x-pie-executable
119.06 KB
-rwxr-xr-x
2020-09-24 08:36:09
curl
application/x-pie-executable
250.07 KB
-rwxr-xr-x
2021-11-28 05:38:09
cut
application/x-pie-executable
46.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
deb-systemd-helper
text/x-perl
20.89 KB
-rwxr-xr-x
2020-12-14 08:19:00
deb-systemd-invoke
text/x-perl
4.31 KB
-rwxr-xr-x
2020-12-14 08:19:00
debconf
text/x-perl
2.79 KB
-rwxr-xr-x
2021-06-10 05:17:49
debconf-apt-progress
text/x-perl
11.27 KB
-rwxr-xr-x
2021-06-10 05:17:49
debconf-communicate
text/x-perl
608 B
-rwxr-xr-x
2021-06-10 05:17:49
debconf-copydb
text/x-perl
1.68 KB
-rwxr-xr-x
2021-06-10 05:17:49
debconf-escape
text/x-perl
647 B
-rwxr-xr-x
2021-06-10 05:17:49
debconf-set-selections
text/x-perl
2.87 KB
-rwxr-xr-x
2021-06-10 05:17:49
debconf-show
text/x-perl
1.78 KB
-rwxr-xr-x
2021-06-10 05:17:49
delpart
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
diff
application/x-pie-executable
203.44 KB
-rwxr-xr-x
2021-01-01 05:52:00
diff3
application/x-pie-executable
63 KB
-rwxr-xr-x
2021-01-01 05:52:00
dircolors
application/x-pie-executable
46.82 KB
-rwxr-xr-x
2020-09-24 08:36:09
dirname
application/x-pie-executable
38.78 KB
-rwxr-xr-x
2020-09-24 08:36:09
dpkg
application/x-pie-executable
306.53 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-architecture
text/x-perl
13.51 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-buildflags
text/x-perl
7.39 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-buildpackage
text/x-perl
30.42 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-checkbuilddeps
text/x-perl
7.45 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-deb
application/x-pie-executable
158.38 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-distaddfile
text/x-perl
2.72 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-divert
application/x-pie-executable
150.44 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-genbuildinfo
text/x-perl
16.71 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-genchanges
text/x-perl
17.1 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-gencontrol
text/x-perl
14.2 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-gensymbols
text/x-perl
10.65 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-maintscript-helper
text/x-shellscript
20.67 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-mergechangelogs
text/x-perl
8.33 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-name
text/x-perl
6.63 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-parsechangelog
text/x-perl
4.83 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-query
application/x-pie-executable
162.43 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-realpath
text/x-shellscript
4.05 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-scanpackages
text/x-perl
8.5 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-scansources
text/x-perl
8.96 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-shlibdeps
text/x-perl
30.96 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-source
text/x-perl
22.56 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-split
application/x-pie-executable
122.34 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-statoverride
application/x-pie-executable
62.12 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-trigger
application/x-pie-executable
78.34 KB
-rwxr-xr-x
2021-04-13 10:43:39
dpkg-vendor
text/x-perl
3.19 KB
-rwxr-xr-x
2021-04-13 10:43:39
du
application/x-pie-executable
171.25 KB
-rwxr-xr-x
2020-09-24 08:36:09
dvipdf
text/x-shellscript
1007 B
-rwxr-xr-x
2021-09-09 05:23:11
dwp
application/x-pie-executable
903.45 KB
-rwxr-xr-x
2021-02-20 03:38:30
edit
text/x-perl
18.05 KB
-rwxr-xr-x
2021-02-25 06:24:36
elfedit
application/x-pie-executable
34.91 KB
-rwxr-xr-x
2021-02-20 03:38:30
enc2xs
text/x-perl
40.84 KB
-rwxr-xr-x
2021-09-24 04:10:58
encguess
text/x-perl
2.99 KB
-rwxr-xr-x
2021-09-24 04:10:58
env
application/x-pie-executable
47.34 KB
-rwxr-xr-x
2020-09-24 08:36:09
eps2eps
text/x-shellscript
639 B
-rwxr-xr-x
2021-09-09 05:23:11
expand
application/x-pie-executable
42.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
expiry
application/x-pie-executable
30.43 KB
-rwxr-sr-x
2020-02-07 02:54:14
expr
application/x-pie-executable
114.97 KB
-rwxr-xr-x
2020-09-24 08:36:09
factor
application/x-pie-executable
79.16 KB
-rwxr-xr-x
2020-09-24 08:36:09
faillog
application/x-pie-executable
22.45 KB
-rwxr-xr-x
2020-02-07 02:54:14
fallocate
application/x-pie-executable
34.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
fcgistarter
application/x-pie-executable
14.16 KB
-rwxr-xr-x
2021-10-07 05:49:44
file
application/x-pie-executable
26.42 KB
-rwxr-xr-x
2020-11-19 09:21:06
fincore
application/x-pie-executable
34.27 KB
-rwxr-xr-x
2021-07-28 07:09:07
find
application/x-pie-executable
303.72 KB
-rwxr-xr-x
2021-01-09 05:36:56
flock
application/x-pie-executable
34.3 KB
-rwxr-xr-x
2021-07-28 07:09:07
fmt
application/x-pie-executable
46.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
fold
application/x-pie-executable
42.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
free
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
g++
application/x-executable
802.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
g++-10
application/x-executable
802.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc-10
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc-ar
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc-ar-10
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc-nm
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc-nm-10
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc-ranlib
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcc-ranlib-10
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcov
application/x-executable
371.79 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcov-10
application/x-executable
371.79 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcov-dump
application/x-executable
239.68 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcov-dump-10
application/x-executable
239.68 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcov-tool
application/x-executable
259.77 KB
-rwxr-xr-x
2021-01-10 11:35:39
gcov-tool-10
application/x-executable
259.77 KB
-rwxr-xr-x
2021-01-10 11:35:39
gencat
application/x-pie-executable
26.6 KB
-rwxr-xr-x
2021-10-02 12:47:40
getconf
application/x-pie-executable
34.37 KB
-rwxr-xr-x
2021-10-02 12:47:40
getent
application/x-pie-executable
31.34 KB
-rwxr-xr-x
2021-10-02 12:47:40
getopt
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
ghostscript
application/x-pie-executable
14.18 KB
-rwxr-xr-x
2021-09-09 05:23:11
gmake
application/x-pie-executable
234.65 KB
-rwxr-xr-x
2021-04-10 01:55:15
gold
application/x-pie-executable
2.14 MB
-rwxr-xr-x
2021-02-20 03:38:30
gpasswd
application/x-pie-executable
86.23 KB
-rwsr-xr-x
2020-02-07 02:54:14
gpgv
application/x-pie-executable
438.87 KB
-rwxr-xr-x
2021-04-22 06:40:36
gprof
application/x-pie-executable
116.27 KB
-rwxr-xr-x
2021-02-20 03:38:30
groups
application/x-pie-executable
42.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
gs
application/x-pie-executable
14.18 KB
-rwxr-xr-x
2021-09-09 05:23:11
gsbj
text/x-shellscript
350 B
-rwxr-xr-x
2021-09-09 05:23:11
gsdj
text/x-shellscript
352 B
-rwxr-xr-x
2021-09-09 05:23:11
gsdj500
text/x-shellscript
352 B
-rwxr-xr-x
2021-09-09 05:23:11
gslj
text/x-shellscript
353 B
-rwxr-xr-x
2021-09-09 05:23:11
gslp
text/x-shellscript
350 B
-rwxr-xr-x
2021-09-09 05:23:11
gsnd
text/x-shellscript
277 B
-rwxr-xr-x
2021-09-09 05:23:11
h2ph
text/x-perl
28.54 KB
-rwxr-xr-x
2021-09-24 04:10:58
h2xs
text/x-perl
59.5 KB
-rwxr-xr-x
2021-09-24 04:10:58
head
application/x-pie-executable
46.88 KB
-rwxr-xr-x
2020-09-24 08:36:09
hostid
application/x-pie-executable
38.75 KB
-rwxr-xr-x
2020-09-24 08:36:09
htcacheclean
application/x-pie-executable
34.16 KB
-rwxr-xr-x
2021-10-07 05:49:44
htdbm
application/x-pie-executable
26.16 KB
-rwxr-xr-x
2021-10-07 05:49:44
htdigest
application/x-pie-executable
14.16 KB
-rwxr-xr-x
2021-10-07 05:49:44
htpasswd
application/x-pie-executable
26.16 KB
-rwxr-xr-x
2021-10-07 05:49:44
i386
application/x-pie-executable
26.5 KB
-rwxr-xr-x
2021-07-28 07:09:07
iconv
application/x-pie-executable
59.01 KB
-rwxr-xr-x
2021-10-02 12:47:40
id
application/x-pie-executable
46.94 KB
-rwxr-xr-x
2020-09-24 08:36:09
ifnames
text/x-perl
4.03 KB
-rwxr-xr-x
2020-12-25 09:25:29
infocmp
application/x-pie-executable
62.23 KB
-rwxr-xr-x
2021-01-01 03:02:10
infotocap
application/x-pie-executable
90.27 KB
-rwxr-xr-x
2021-01-01 03:02:10
install
application/x-pie-executable
155.79 KB
-rwxr-xr-x
2020-09-24 08:36:09
instmodsh
text/x-perl
4.27 KB
-rwxr-xr-x
2021-09-24 04:10:58
ionice
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
ipcmk
application/x-pie-executable
30.3 KB
-rwxr-xr-x
2021-07-28 07:09:07
ipcrm
application/x-pie-executable
34.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
ipcs
application/x-pie-executable
70.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
ischroot
application/x-pie-executable
14.27 KB
-rwxr-xr-x
2020-09-27 05:25:47
join
application/x-pie-executable
54.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
json_pp
text/x-perl
4.87 KB
-rwxr-xr-x
2021-09-24 04:10:58
last
application/x-pie-executable
46.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
lastb
application/x-pie-executable
46.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
lastlog
application/x-pie-executable
31.5 KB
-rwxr-xr-x
2020-02-07 02:54:14
lcf
text/x-shellscript
7.6 KB
-rwxr-xr-x
2020-06-16 05:37:53
ld
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2021-02-20 03:38:30
ld.bfd
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2021-02-20 03:38:30
ld.gold
application/x-pie-executable
2.14 MB
-rwxr-xr-x
2021-02-20 03:38:30
ldd
text/x-shellscript
5.27 KB
-rwxr-xr-x
2021-10-02 12:47:40
libnetcfg
text/x-perl
15.41 KB
-rwxr-xr-x
2021-09-24 04:10:58
link
application/x-pie-executable
38.75 KB
-rwxr-xr-x
2020-09-24 08:36:09
linux32
application/x-pie-executable
26.5 KB
-rwxr-xr-x
2021-07-28 07:09:07
linux64
application/x-pie-executable
26.5 KB
-rwxr-xr-x
2021-07-28 07:09:07
locale
application/x-pie-executable
54.04 KB
-rwxr-xr-x
2021-10-02 12:47:40
localedef
application/x-pie-executable
307.75 KB
-rwxr-xr-x
2021-10-02 12:47:40
logger
application/x-pie-executable
50.82 KB
-rwxr-xr-x
2021-07-28 07:09:07
logname
application/x-pie-executable
38.78 KB
-rwxr-xr-x
2020-09-24 08:36:09
logresolve
application/x-pie-executable
14.16 KB
-rwxr-xr-x
2021-10-07 05:49:44
lsattr
application/x-pie-executable
14.16 KB
-rwxr-xr-x
2021-06-07 11:27:15
lscpu
application/x-pie-executable
98.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
lsipc
application/x-pie-executable
94.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
lslocks
application/x-pie-executable
38.55 KB
-rwxr-xr-x
2021-07-28 07:09:07
lslogins
application/x-pie-executable
66.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
lsmem
application/x-pie-executable
66.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
lsns
application/x-pie-executable
50.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
lto-dump-10
application/x-executable
23.27 MB
-rwxr-xr-x
2021-01-10 11:35:39
lzcat
application/x-pie-executable
79.29 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzcmp
text/x-shellscript
6.86 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzdiff
text/x-shellscript
6.86 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzegrep
text/x-shellscript
5.61 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzfgrep
text/x-shellscript
5.61 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzgrep
text/x-shellscript
5.61 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzless
text/x-shellscript
1.76 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzma
application/x-pie-executable
79.29 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzmainfo
application/x-pie-executable
14.31 KB
-rwxr-xr-x
2021-03-08 10:01:54
lzmore
text/x-shellscript
2.11 KB
-rwxr-xr-x
2021-03-08 10:01:54
m4
application/x-pie-executable
163.18 KB
-rwxr-xr-x
2021-01-05 10:34:00
make
application/x-pie-executable
234.65 KB
-rwxr-xr-x
2021-04-10 01:55:15
make-first-existing-target
text/x-perl
4.79 KB
-rwxr-xr-x
2021-04-10 01:55:15
mawk
application/x-pie-executable
154.59 KB
-rwxr-xr-x
2020-02-16 07:41:09
mcookie
application/x-pie-executable
34.3 KB
-rwxr-xr-x
2021-07-28 07:09:07
md5sum
application/x-pie-executable
46.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
md5sum.textutils
application/x-pie-executable
46.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
mesg
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
mkfifo
application/x-pie-executable
67.09 KB
-rwxr-xr-x
2020-09-24 08:36:09
namei
application/x-pie-executable
34.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
nawk
application/x-pie-executable
154.59 KB
-rwxr-xr-x
2020-02-16 07:41:09
newgrp
application/x-pie-executable
43.59 KB
-rwsr-xr-x
2020-02-07 02:54:14
nice
application/x-pie-executable
42.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
nl
application/x-pie-executable
111.03 KB
-rwxr-xr-x
2020-09-24 08:36:09
nm
application/x-pie-executable
43.82 KB
-rwxr-xr-x
2021-02-20 03:38:30
nohup
application/x-pie-executable
42.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
nproc
application/x-pie-executable
42.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
nsenter
application/x-pie-executable
34.45 KB
-rwxr-xr-x
2021-07-28 07:09:07
numfmt
application/x-pie-executable
66.97 KB
-rwxr-xr-x
2020-09-24 08:36:09
objcopy
application/x-pie-executable
275.4 KB
-rwxr-xr-x
2021-02-20 03:38:30
objdump
application/x-pie-executable
453.77 KB
-rwxr-xr-x
2021-02-20 03:38:30
od
application/x-pie-executable
70.94 KB
-rwxr-xr-x
2020-09-24 08:36:09
open
text/x-perl
18.05 KB
-rwxr-xr-x
2021-02-25 06:24:36
openssl
application/x-pie-executable
719.52 KB
-rwxr-xr-x
2021-08-24 08:28:12
pager
application/x-pie-executable
58.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
partx
application/x-pie-executable
114.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
passwd
application/x-pie-executable
62.46 KB
-rwsr-xr-x
2020-02-07 02:54:14
paste
application/x-pie-executable
42.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
patch
application/x-pie-executable
187.44 KB
-rwxr-xr-x
2021-01-09 08:58:08
pathchk
application/x-pie-executable
38.78 KB
-rwxr-xr-x
2020-09-24 08:36:09
pdf2dsc
text/x-shellscript
698 B
-rwxr-xr-x
2021-09-09 05:23:11
pdf2ps
text/x-shellscript
909 B
-rwxr-xr-x
2021-09-09 05:23:11
perl
application/x-pie-executable
3.51 MB
-rwxr-xr-x
2021-09-24 04:10:58
perl5.32-x86_64-linux-gnu
application/x-pie-executable
14.34 KB
-rwxr-xr-x
2021-09-24 04:10:58
perl5.32.1
application/x-pie-executable
3.51 MB
-rwxr-xr-x
2021-09-24 04:10:58
perlbug
text/x-perl
44.2 KB
-rwxr-xr-x
2021-09-24 04:10:58
perldoc
text/x-shellscript
125 B
-rwxr-xr-x
2021-08-25 06:11:56
perlivp
text/x-perl
10.61 KB
-rwxr-xr-x
2021-09-24 04:10:58
perlthanks
text/x-perl
44.2 KB
-rwxr-xr-x
2021-09-24 04:10:58
pf2afm
text/x-shellscript
498 B
-rwxr-xr-x
2021-09-09 05:23:11
pfbtopfa
text/x-shellscript
516 B
-rwxr-xr-x
2021-09-09 05:23:11
pgrep
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
piconv
text/x-perl
8.16 KB
-rwxr-xr-x
2021-09-24 04:10:58
pidwait
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
pinky
application/x-pie-executable
42.97 KB
-rwxr-xr-x
2020-09-24 08:36:09
pkg-config
application/x-pie-executable
54.92 KB
-rwxr-xr-x
2020-04-21 06:30:00
pkill
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
pl2pm
text/x-perl
4.43 KB
-rwxr-xr-x
2021-09-24 04:10:58
pldd
application/x-pie-executable
22.57 KB
-rwxr-xr-x
2021-10-02 12:47:40
pmap
application/x-pie-executable
34.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
pod2html
text/x-perl
4.04 KB
-rwxr-xr-x
2021-09-24 04:10:58
pod2man
text/x-perl
14.68 KB
-rwxr-xr-x
2021-09-24 04:10:58
pod2text
text/x-perl
10.55 KB
-rwxr-xr-x
2021-09-24 04:10:58
pod2usage
text/x-perl
3.86 KB
-rwxr-xr-x
2021-09-24 04:10:58
podchecker
text/x-perl
3.57 KB
-rwxr-xr-x
2021-09-24 04:10:58
pphs
text/x-shellscript
404 B
-rwxr-xr-x
2021-09-09 05:23:11
pr
application/x-pie-executable
75.09 KB
-rwxr-xr-x
2020-09-24 08:36:09
print
text/x-perl
18.05 KB
-rwxr-xr-x
2021-02-25 06:24:36
printafm
text/x-shellscript
395 B
-rwxr-xr-x
2021-09-09 05:23:11
printenv
application/x-pie-executable
38.75 KB
-rwxr-xr-x
2020-09-24 08:36:09
printf
application/x-pie-executable
58.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
prlimit
application/x-pie-executable
38.74 KB
-rwxr-xr-x
2021-07-28 07:09:07
prove
text/x-perl
13.33 KB
-rwxr-xr-x
2021-09-24 04:10:58
ps2ascii
text/x-shellscript
631 B
-rwxr-xr-x
2021-09-09 05:23:11
ps2epsi
text/x-shellscript
1.22 KB
-rwxr-xr-x
2021-09-09 05:23:11
ps2pdf
text/x-shellscript
272 B
-rwxr-xr-x
2021-09-09 05:23:11
ps2pdf12
text/x-shellscript
215 B
-rwxr-xr-x
2021-09-09 05:23:11
ps2pdf13
text/x-shellscript
215 B
-rwxr-xr-x
2021-09-09 05:23:11
ps2pdf14
text/x-shellscript
215 B
-rwxr-xr-x
2021-09-09 05:23:11
ps2pdfwr
text/x-shellscript
1.05 KB
-rwxr-xr-x
2021-09-09 05:23:11
ps2ps
text/x-shellscript
647 B
-rwxr-xr-x
2021-09-09 05:23:11
ps2ps2
text/x-shellscript
669 B
-rwxr-xr-x
2021-09-09 05:23:11
ps2txt
text/x-shellscript
631 B
-rwxr-xr-x
2021-09-09 05:23:11
ptar
text/x-perl
3.47 KB
-rwxr-xr-x
2021-09-24 04:10:58
ptardiff
text/x-perl
2.57 KB
-rwxr-xr-x
2021-09-24 04:10:58
ptargrep
text/x-perl
4.29 KB
-rwxr-xr-x
2021-09-24 04:10:58
ptx
application/x-pie-executable
135.09 KB
-rwxr-xr-x
2020-09-24 08:36:09
pwdx
application/x-pie-executable
14.22 KB
-rwxr-xr-x
2021-04-06 07:17:53
ranlib
application/x-pie-executable
50.97 KB
-rwxr-xr-x
2021-02-20 03:38:30
re2c
application/x-pie-executable
626.39 KB
-rwxr-xr-x
2020-08-24 09:05:07
re2go
application/x-pie-executable
626.39 KB
-rwxr-xr-x
2020-08-24 09:05:07
readelf
application/x-pie-executable
595.57 KB
-rwxr-xr-x
2021-02-20 03:38:30
realpath
application/x-pie-executable
54.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
renice
application/x-pie-executable
14.22 KB
-rwxr-xr-x
2021-07-28 07:09:07
reset
application/x-pie-executable
30.16 KB
-rwxr-xr-x
2021-01-01 03:02:10
resizepart
application/x-pie-executable
62.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
rev
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
rgrep
text/x-shellscript
30 B
-rwxr-xr-x
2020-01-29 12:09:17
rotatelogs
application/x-pie-executable
26.23 KB
-rwxr-xr-x
2021-10-07 05:49:44
rpcgen
application/x-pie-executable
94.98 KB
-rwxr-xr-x
2021-10-02 12:47:40
run-mailcap
text/x-perl
18.05 KB
-rwxr-xr-x
2021-02-25 06:24:36
runcon
application/x-pie-executable
42.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
savelog
text/x-shellscript
10.24 KB
-rwxr-xr-x
2020-09-27 05:25:47
script
application/x-pie-executable
66.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
scriptlive
application/x-pie-executable
54.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
scriptreplay
application/x-pie-executable
42.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
sdiff
application/x-pie-executable
46.91 KB
-rwxr-xr-x
2021-01-01 05:52:00
see
text/x-perl
18.05 KB
-rwxr-xr-x
2021-02-25 06:24:36
select-editor
text/x-shellscript
2.39 KB
-rwxr-xr-x
2021-01-12 10:01:50
sensible-browser
text/x-shellscript
1.2 KB
-rwxr-xr-x
2021-01-12 10:01:50
sensible-editor
text/x-shellscript
1.15 KB
-rwxr-xr-x
2021-01-12 10:01:50
sensible-pager
text/x-shellscript
452 B
-rwxr-xr-x
2021-01-12 10:01:50
seq
application/x-pie-executable
54.88 KB
-rwxr-xr-x
2020-09-24 08:36:09
setarch
application/x-pie-executable
26.5 KB
-rwxr-xr-x
2021-07-28 07:09:07
setpriv
application/x-pie-executable
46.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
setsid
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
setterm
application/x-pie-executable
46.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
sg
application/x-pie-executable
43.59 KB
-rwsr-xr-x
2020-02-07 02:54:14
sha1sum
application/x-pie-executable
50.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
sha224sum
application/x-pie-executable
62.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
sha256sum
application/x-pie-executable
62.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
sha384sum
application/x-pie-executable
66.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
sha512sum
application/x-pie-executable
66.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
shasum
text/x-perl
9.74 KB
-rwxr-xr-x
2021-09-24 04:10:58
shred
application/x-pie-executable
63.09 KB
-rwxr-xr-x
2020-09-24 08:36:09
shuf
application/x-pie-executable
58.97 KB
-rwxr-xr-x
2020-09-24 08:36:09
size
application/x-pie-executable
30.81 KB
-rwxr-xr-x
2021-02-20 03:38:30
skill
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
slabtop
application/x-pie-executable
22.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
snice
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
sort
application/x-pie-executable
115.63 KB
-rwxr-xr-x
2020-09-24 08:36:09
splain
text/x-perl
18.96 KB
-rwxr-xr-x
2021-09-24 04:10:58
split
application/x-pie-executable
59.47 KB
-rwxr-xr-x
2020-09-24 08:36:09
stat
application/x-pie-executable
83.19 KB
-rwxr-xr-x
2020-09-24 08:36:09
stdbuf
application/x-pie-executable
50.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
streamzip
text/x-perl
5.39 KB
-rwxr-xr-x
2021-09-24 04:10:58
strings
application/x-pie-executable
30.91 KB
-rwxr-xr-x
2021-02-20 03:38:30
strip
application/x-pie-executable
275.43 KB
-rwxr-xr-x
2021-02-20 03:38:30
sum
application/x-pie-executable
46.88 KB
-rwxr-xr-x
2020-09-24 08:36:09
tabs
application/x-pie-executable
18.15 KB
-rwxr-xr-x
2021-01-01 03:02:10
tac
application/x-pie-executable
106.97 KB
-rwxr-xr-x
2020-09-24 08:36:09
tail
application/x-pie-executable
75.06 KB
-rwxr-xr-x
2020-09-24 08:36:09
taskset
application/x-pie-executable
34.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
tee
application/x-pie-executable
42.88 KB
-rwxr-xr-x
2020-09-24 08:36:09
test
application/x-pie-executable
54.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
tic
application/x-pie-executable
90.27 KB
-rwxr-xr-x
2021-01-01 03:02:10
timeout
application/x-pie-executable
43.41 KB
-rwxr-xr-x
2020-09-24 08:36:09
tload
application/x-pie-executable
14.23 KB
-rwxr-xr-x
2021-04-06 07:17:53
toe
application/x-pie-executable
22.15 KB
-rwxr-xr-x
2021-01-01 03:02:10
top
application/x-pie-executable
122.07 KB
-rwxr-xr-x
2021-04-06 07:17:53
touch
application/x-pie-executable
99.03 KB
-rwxr-xr-x
2020-09-24 08:36:09
tput
application/x-pie-executable
26.18 KB
-rwxr-xr-x
2021-01-01 03:02:10
tr
application/x-pie-executable
54.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
truncate
application/x-pie-executable
42.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
tset
application/x-pie-executable
30.16 KB
-rwxr-xr-x
2021-01-01 03:02:10
tsort
application/x-pie-executable
54.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
tty
application/x-pie-executable
38.78 KB
-rwxr-xr-x
2020-09-24 08:36:09
tzselect
text/x-shellscript
14.99 KB
-rwxr-xr-x
2021-10-02 12:47:40
ucf
text/x-shellscript
40.9 KB
-rwxr-xr-x
2020-06-16 05:37:53
ucfq
text/x-perl
18.91 KB
-rwxr-xr-x
2020-06-16 05:37:53
ucfr
text/x-shellscript
10.47 KB
-rwxr-xr-x
2020-06-16 05:37:53
unexpand
application/x-pie-executable
42.84 KB
-rwxr-xr-x
2020-09-24 08:36:09
uniq
application/x-pie-executable
50.91 KB
-rwxr-xr-x
2020-09-24 08:36:09
unlink
application/x-pie-executable
38.75 KB
-rwxr-xr-x
2020-09-24 08:36:09
unlzma
application/x-pie-executable
79.29 KB
-rwxr-xr-x
2021-03-08 10:01:54
unshare
application/x-pie-executable
46.46 KB
-rwxr-xr-x
2021-07-28 07:09:07
unxz
application/x-pie-executable
79.29 KB
-rwxr-xr-x
2021-03-08 10:01:54
update-alternatives
application/x-pie-executable
58.09 KB
-rwxr-xr-x
2021-04-13 10:43:39
uptime
application/x-pie-executable
14.22 KB
-rwxr-xr-x
2021-04-06 07:17:53
users
application/x-pie-executable
38.81 KB
-rwxr-xr-x
2020-09-24 08:36:09
utmpdump
application/x-pie-executable
30.23 KB
-rwxr-xr-x
2021-07-28 07:09:07
vmstat
application/x-pie-executable
38.24 KB
-rwxr-xr-x
2021-04-06 07:17:53
w
application/x-pie-executable
22.22 KB
-rwxr-xr-x
2021-04-06 07:17:53
wall
application/x-pie-executable
34.23 KB
-rwxr-sr-x
2021-07-28 07:09:07
watch
application/x-pie-executable
26.6 KB
-rwxr-xr-x
2021-04-06 07:17:53
wc
application/x-pie-executable
46.95 KB
-rwxr-xr-x
2020-09-24 08:36:09
whereis
application/x-pie-executable
30.66 KB
-rwxr-xr-x
2021-07-28 07:09:07
which
text/x-shellscript
946 B
-rwxr-xr-x
2020-09-27 05:25:47
who
application/x-pie-executable
58.97 KB
-rwxr-xr-x
2020-09-24 08:36:09
whoami
application/x-pie-executable
38.78 KB
-rwxr-xr-x
2020-09-24 08:36:09
x86_64
application/x-pie-executable
26.5 KB
-rwxr-xr-x
2021-07-28 07:09:07
x86_64-linux-gnu-addr2line
application/x-pie-executable
31.13 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-ar
application/x-pie-executable
50.97 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-as
application/x-pie-executable
461.18 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-c++filt
application/x-pie-executable
126.46 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-cpp
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-cpp-10
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-dwp
application/x-pie-executable
903.45 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-elfedit
application/x-pie-executable
34.91 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-g++
application/x-executable
802.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-g++-10
application/x-executable
802.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc-10
application/x-executable
798.54 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc-ar
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc-ar-10
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc-nm
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc-nm-10
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc-ranlib
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcc-ranlib-10
application/x-executable
22.38 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcov
application/x-executable
371.79 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcov-10
application/x-executable
371.79 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcov-dump
application/x-executable
239.68 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcov-dump-10
application/x-executable
239.68 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcov-tool
application/x-executable
259.77 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gcov-tool-10
application/x-executable
259.77 KB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-gold
application/x-pie-executable
2.14 MB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-gprof
application/x-pie-executable
116.27 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-ld
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-ld.bfd
application/x-pie-executable
1.66 MB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-ld.gold
application/x-pie-executable
2.14 MB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-lto-dump-10
application/x-executable
23.27 MB
-rwxr-xr-x
2021-01-10 11:35:39
x86_64-linux-gnu-nm
application/x-pie-executable
43.82 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-objcopy
application/x-pie-executable
275.4 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-objdump
application/x-pie-executable
453.77 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-pkg-config
text/x-shellscript
2 KB
-rwxr-xr-x
2020-04-21 06:30:00
x86_64-linux-gnu-ranlib
application/x-pie-executable
50.97 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-readelf
application/x-pie-executable
595.57 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-size
application/x-pie-executable
30.81 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-strings
application/x-pie-executable
30.91 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-linux-gnu-strip
application/x-pie-executable
275.43 KB
-rwxr-xr-x
2021-02-20 03:38:30
x86_64-pc-linux-gnu-pkg-config
application/x-pie-executable
54.92 KB
-rwxr-xr-x
2020-04-21 06:30:00
xargs
application/x-pie-executable
74.37 KB
-rwxr-xr-x
2021-01-09 05:36:56
xsubpp
text/x-perl
5.04 KB
-rwxr-xr-x
2021-09-24 04:10:58
xz
application/x-pie-executable
79.29 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzcat
application/x-pie-executable
79.29 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzcmp
text/x-shellscript
6.86 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzdiff
text/x-shellscript
6.86 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzegrep
text/x-shellscript
5.61 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzfgrep
text/x-shellscript
5.61 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzgrep
text/x-shellscript
5.61 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzless
text/x-shellscript
1.76 KB
-rwxr-xr-x
2021-03-08 10:01:54
xzmore
text/x-shellscript
2.11 KB
-rwxr-xr-x
2021-03-08 10:01:54
yes
application/x-pie-executable
38.75 KB
-rwxr-xr-x
2020-09-24 08:36:09
zdump
application/x-pie-executable
22.4 KB
-rwxr-xr-x
2021-10-02 12:47:40
zipdetails
text/x-perl
50.04 KB
-rwxr-xr-x
2021-09-24 04:10:58
~ ACUPOFTEA - translucent.aimfirst.dev