15
METAMORPHOSIS
159e2c9419cb8e1710394fac64fdb58cf87448a31d4c3dbee1a84f8ea67356f0
LAKEPLACID

~/.ollama/id_ed25519.pub

#introductions

Waw-Mart

#introduction

ur:crypto-account/oeadcylsiejstpaolytaadmetaaddlosadwkaowkaxhdclaxzodttdbkioaslyfnlyhfgorpaeflwmuohfmuswdpjtlaoyisgynbrsjpjyrkrlpyaahdcxtoptzmuyrnimlrrefnluehotkkrlntpmpftehdftsnhfwzsrnssppmcplgsthgwfahtaadehoyaoaeamtaaddyotadlocsdyykaeykaeykaoykaocylsiejstpaxaaaycyfzrhrfhgahynlrln

#introductions

Transaction hash: 0x2c573cd2cb2f2c52c1b69de753df2231dec7130bc7b80325e91f7eac73a0b204

Sent from

AMzKt2E69onCrBQoBTQFMmBmqB9SRJvzvE

1.05675578 GAS

Sent to

AJSK3qFtfCXdq7MD9AmTTwNtSjkA2k1xyt

0.00000001 GAS

AMzKt2E69onCrBQoBTQFMmBmqB9SRJvzvE

1.05675577 GAS

TIME

2024-10-18 02:03:35

CONTRACT TYPE

Contract Transaction

NETWORK FEE

0

SIZE

594 Bytes

REMARK:

REMARK : 54686973207472616e73616374696f6e2076616c6964617465732074686174204b6172616d204d6f6f72652c7761776d6172742075706c6f6164656420225455524e204d4520574159205550222077697468207468652066696c652059324d6174652e6973202d205475726e204d652c205761792055702d7969423834505a646c5a6b2d3132386b2d313635363134373633353531302e6d7033207769746820746865206469676974616c2066696e6765727072696e74203063353238313861343230306231303434323939366164633735363461623365393836303437363763396238643039663063636130393463313236363263373820746f20536f6e675365637572652e636f6d2c2070726f76696e6720746865697220706f7373657373696f6e206f6620746869732066696c65206f6e204f63746f62657220313874682c20323032342e

REMARK DECODED:

This transaction validates that Karam Moore,wawmart uploaded "TURN ME WAY UP" with the file Y2Mate.is - Turn Me, Way Up-yiB84PZdlZk-128k-1656147635510.mp3 with the digital fingerprint 0c52818a4200b10442996adc7564ab3e98604767c9b8d09f0cca094c12662c78 to SongSecure.com, proving their possession of this file on October 18th, 2024.

INVOCATION SCRIPT

PUSHBYTES64:

4001c6af2b9c7ade024e6b4b5b121d12c0ac77e91b61f1b6d9ab64ec084de601ba8956b3a3c12aa560d0cf236cc9b1e9c58d8ab566970fd3f9682a4026dfd73840

VERIFICATION SCRIPT

PUSHBYTES32:

21031c3364e3b88c103c463825b42fdc88fa49f58f9c9d0907bd9e45713b09f368b7ac

#introductions

TRANSACTION

Transaction hash: 0xe552aaed01fa09f8942469c924782b837f32c77f091b2e559cc044d455cd3833

Sent from

AMzKt2E69onCrBQoBTQFMmBmqB9SRJvzvE

1.05675583 GAS

Sent to

AJSK3qFtfCXdq7MD9AmTTwNtSjkA2k1xyt

0.00000001 GAS

AMzKt2E69onCrBQoBTQFMmBmqB9SRJvzvE

1.05675582 GAS

TIME

2024-10-17 22:43:55

CONTRACT TYPE

Contract Transaction

NETWORK FEE

0

SIZE

530 Bytes

REMARK:

REMARK : 54686973207472616e73616374696f6e2076616c6964617465732074686174204b6172616d204d6f6f72652c4d485a2075706c6f6164656420226957616e7432222077697468207468652066696c65206957616e74322e6d7033207769746820746865206469676974616c2066696e6765727072696e74203566353834643030353962326631666538343938353761353364663533383966373364626431393861336162313632343461306365306364323765656561393320746f20536f6e675365637572652e636f6d2c2070726f76696e6720746865697220706f7373657373696f6e206f6620746869732066696c65206f6e204f63746f62657220313774682c20323032342e

REMARK DECODED:

This transaction validates that Karam Moore,MHZ uploaded "iWant2" with the file iWant2.mp3 with the digital fingerprint 5f584d0059b2f1fe849857a53df5389f73dbd198a3ab16244a0ce0cd27eeea93 to SongSecure.com, proving their possession of this file on October 17th, 2024.

INVOCATION SCRIPT

PUSHBYTES64:

40c953fabd7dd1057bbb0ee4c6205ac133cc4c5eb4361b8b69129a5fa51522f5c53254695037b7351b89f8d25c855460a77232ad42ff8581f30f366b9579c95fef

VERIFICATION SCRIPT

PUSHBYTES32:

21031c3364e3b88c103c463825b42fdc88fa49f58f9c9d0907bd9e45713b09f368b7ac

#introductions

wawmart

#introductions

HORIZON

#introductions

#!/usr/bin/perl

#vim:et:ts=4:

# converts vim documentation to simple html

# Sirtaj Singh Kang (taj@kde.org)

# Wed Oct 8 01:15:48 EST 1997

# Edited and extended by Dion Nicolaas

# (version 2.0, 3.0, 3.1, 3.3, 3.3.1)

# Made into a CGI by Thorsten Maerz

# (version 3.2)

# New in version 2.0:

# - Added Windows NT date command

# - fixed ARGV bug

# - Let Vim do the HTMLizing, just add links afterwards (this adds syntax

# highlighting)

# Wed 27-09-2000

# New in version 3.0:

# - Use Perl date

# - Use lowercase html tags to work with vim 6.0

# - Match every keyword that appears in the text

# Tue 25-09-01

#

# New in version 3.1:

# - Option for HTML level

# - Do replace < and > when no HTML

# Thu 27-09-01

# New in version 3.2:

# - works as cgi script

# Thu 27-09-01

# New in version 3.3:

# - More nevermatch words

# - Remove modelines from files

# - improved Perl HTMLising

# Fri 28-09-01

# New in version 3.3.1:

# - use vims colorschemes (quickndirty)

use strict;

# set $isCGI to 1 to run as a cgi-script

my $isCGI = 1;

# Set this to your executable of Vim

#my $vimcmd = "d:/bin/vim/vim60/gvim.exe";

my $vimcmd = "vim";

# Set this to all words you don't want to match, in between **

my $nevermatch = "*is* *as* *end* *section* *various* *case* *put* *help* *starting* *go*";

# ======================================================================

# Nothing below this line should have to be changed.

# ======================================================================

my %syn;

my $CGIfilename;

my $CGIsearch;

my $CGIbasename;

if ($isCGI) {

use Fcntl;

use POSIX qw(tmpnam);

use CGI qw/:standard/;

($CGIbasename = $0) =~ s#.*/([^/]+)#$1#;

}

my $date = gmtime;

my %url = ();

my %file = ();

my $opt_htmlising = 2;

my $progID = "vim2html.pl 3.2";

sub readTagFile

{

my($tagfile) = @_;

my($tag, $file);

open(TAGS,"$tagfile") || die "can't read tags\n";

while () {

s/

s/>/>/g;

/^(.*)\t(.*)\t/;

$tag = $1;

if ($isCGI) {

$file{$tag}= $2;

# $url{$tag} = "$tag";

$url{$tag} = "

if (param('cs')) {

$url{$tag} .= "?cs=".param('cs').'&';

}

else {

$url{$tag} .= '?';

}

$url{$tag} .= "page=$file{$tag}#$tag\">$tag";

}

else {

($file{$tag}= $2) =~ s/.txt$/.html/g;

$url{$tag} = "$tag";

}

}

close(TAGS);

}

sub vim2html

{

# viminfile is the original which will be munched by vim.

my ($viminfile) = @_;

my $infile;

$infile = "$viminfile.html";

if ($opt_htmlising < 2) {

open (IN, "$viminfile") or die "Can't read input file $viminfile: $?";

if ($isCGI) {

# try new temporary filenames until we get one that didn't already

# exist; the check should be unnecessary, but you can't be too careful

do { $infile = tmpnam() }

until sysopen(INTER, $infile, O_RDWR|O_CREAT|O_EXCL);

}

else {

open(INTER, ">$infile")

or die "Can't write intermediate file $infile: $?";

}

if ($opt_htmlising == 1) {

# write header

print INTER "

";

}

my ($example, $examplecount) = 0;

my $curly = 0;

# Create a "safe" file

while () {

# Replace tabs with spaces (ts=8)

my $pos;

while (($pos = index($_, "\t")) != -1) {

$pos %= 8;

if ($pos == 8) { $pos = 0; }

my $padding = substr(" ", 0, 8 - $pos);

s/\t/$padding/;

}

s/

s/>/>/g;

if ($opt_htmlising == 1 || $isCGI) {

# bugs

# intro.txt:*CTRL-{char}*

# do syntax highlighting in Perl

s/^\<$//; # only <

s/^\<(\s)/ $1/; # leading <

s/\>$// unless /\</; # trailing >

s/(.*)~$/$syn{'Header'}$1$syn{'end'}/; # trailing ~

s/^[-=]+$/$syn{'SectionDelim'}$&$syn{'end'}/g; # ===== or ----

# dont highlight ^*word* : wouldnt be recognized as jump target later

s/ \*[^ *]*\*/$syn{'HyperTextEntry'}$&$syn{'end'}/g; # *Entry*

s/(?

s/(?

s/(?

s/(?

# multiline fails on usr_40.txt

#s/(?

#if (s/(?

#if ($curly) { s/[^}]*}/$&$syn{'end'}/g and $curly = 0; }

s/(?

s/(?

s/(?

s/(?

s/(?

s/(?

s/(?

s/^CTRL-./$syn{'Special'}$&$syn{'end'}/g;

s/\bN\b/$syn{'Special'}$&$syn{'end'}/g; # Not quite right

#s/"(.*)"/$&<\/b>/g; # bold "word"

}

print INTER $_;

}

if ($opt_htmlising == 1) {

# write footer

print INTER "

";

}

close(INTER);

}

else {

# execute

# gvim $viminfile -c "so $VIMRUNTIME/syntax/2html.vim" -c "wq" -c "q"

# to let vim do the HTMLizing

my $socmd;

if ($ENV{'OSTYPE'} =~ /linux/i) {

$socmd = "so \$VIMRUNTIME/syntax/2html.vim"

}

else {

$socmd = "\"so \$VIMRUNTIME/syntax/2html.vim\""

}

my (@args) = ($vimcmd, $viminfile, "-c", $socmd, "-c", "wq", "-c", "q");

print @args;

system(@args) == 0

or die "system @args failed: $?";

}

my $outfile;

open(IN, "$infile") || die "Couldn't read from $infile.\n";

($outfile = $infile) =~ s/.*\///g;

# infile is called .txt.html

$outfile =~ s/\.txt\.html$//g;

if ($isCGI) {

open(OUT, ">-");

}

else {

open(OUT, ">$outfile.html")

|| die "Couldn't write to $outfile.html.\n";

}

my $dontmatch = ""; # tags not to match in this paragraph

my $currentlabel = ""; # used to build $dontmatch

# Replace applicable parts

while () {

# Change the title and add an H1

s/.*<\/title>/<title>Vim documentation: $outfile<\/title>/g;</p><p>s/<pre>/<h1>Vim documentation: $outfile<\/h1><hr><pre>/g;</p><p># Add bottom line</p><p>s/<\/pre>/<\/pre><hr><p><i>Generated by <tt>$progID<\/tt> on $date<\/i><\/p>/g;</p><p># Remove modeline</p><p>s/ vim:.*:\s*$//;</p><p># Links</p><p># We don't want to link to the section we're reading, so we remember</p><p># where we are.</p><p>if (m/\*[^ *]+\*/) { # label in this line?</p><p># remember it</p><p>$currentlabel .= $_;</p><p>$dontmatch = $nevermatch . $currentlabel;</p><p>} else {</p><p># first line of this section</p><p>$currentlabel = "";</p><p>}</p><p># replace all applicable words with a link</p><p>chomp;</p><p>my $out = ""; # we'll build the output in here.</p><p>REPLACE:</p><p>while (length $_ ) {</p><p># copy various pieces of line to $out, changing them into</p><p># links where appropriate. The order here is significant, as we</p><p># don't want to touch e.g. HTML tags.</p><p># copy leading spaces</p><p>if (s/^(\s+)//) {</p><p>$out .= $1;</p><p>next REPLACE;</p><p>}</p><p># copy html tags</p><p>if (s/^(<[^>]+>)//)</p><p>{</p><p>$out .= $1;</p><p>next REPLACE;</p><p>}</p><p># copy keywords in **</p><p>if (s/^(\*[^| ]+\*)//)</p><p>{</p><p>$out .= $1;</p><p>next REPLACE;</p><p>}</p><p># keywords in ""</p><p># Mostly appear in sentences like: 'the "/" command ...'</p><p># So we replace them almost always with a link.</p><p>if (s/^\"([^| ]+)\"//) {</p><p>my $tag = $1;</p><p># don't link when it appears in $dontmatch</p><p>my $skip = ($dontmatch =~ m/\*\Q$tag\E\*/);</p><p>if ($url{$tag} and not $skip) {</p><p>$out .= "\"$url{$tag}\"";</p><p>}</p><p>else {</p><p>$out .= "\"$tag\"";</p><p>}</p><p>next REPLACE;</p><p>}</p><p># keywords in ||</p><p># We always replace them with a link, if the link exists.</p><p>if (s/^\|([^| ]+)\|//) {</p><p>if ($url{$1}) {</p><p>$out .= "\|$url{$1}\|";</p><p>}</p><p>else {</p><p>$out .= "\|$1\|";</p><p>}</p><p>next REPLACE;</p><p>}</p><p># plain word</p><p># We replace them if not in $dontmatch and longer than 1 char, to</p><p># prevent changing a and I and many others</p><p>if (s/^([^ |<"]+)//) {</p><p>my $tag = $1;</p><p>my $skip = ($dontmatch =~ m/\*\Q$tag\E\*/);</p><p># no one char hits (includes > and <)</p><p>if (length($tag) > 1 and</p><p>$tag ne "<" and</p><p>$tag ne ">"</p><p>and</p><p>$url{$tag}</p><p>and not $skip) {</p><p>$out .= "$url{$tag}";</p><p>}</p><p>else {</p><p>$out .= $tag;</p><p>}</p><p>next REPLACE;</p><p>}</p><p># unmatched <"|, copy.</p><p>if (s/^([|<"])//) {</p><p>$out .= $1;</p><p>next REPLACE;</p><p>}</p><p># NOTREACHED</p><p>die "Nothing matched? line = \"$_\"\n";</p><p>}</p><p># *keyword* is only replaced now, to make skipping them earlier easier</p><p>$out =~ s/\*([^ *]+)\*/\*<a name="$1">$1<\/a>\*/g;</p><p>print OUT "$out\n";</p><p>}</p><p># infile is intermediate, can now go</p><p>unlink $infile;</p><p>}</p><p>sub usage</p><p>{</p><p>die<<EOF;</p><p>$progID (Thu 27-09-2001)</p><p>Converts vim documentation to HTML.</p><p>usage:</p><p>vim2html.pl [-v{0|1|2}] <tag file> <text files></p><p>-v0 means no HTMLising (apart from links)</p><p>-v1 means basic HTML</p><p>-v2 means let Vim do the HTMLising.</p><p>Default is -v2.</p><p><text files> should have the extension .txt</p><p>The output files will have the extension .html</p><p>EOF</p><p>}</p><p># CGI / HTML header and footer</p><p>sub CGIStartHTML</p><p>{</p><p>my $color=param('cs');</p><p>print <<EOF;</p><p>Content-type: text/html</p><p><HTML></p><p><HEAD><TITLE>Vim online doc: $CGIfilename

VimDoc: $CGIfilename

select color

help

manual

PS / PDF

single file

VimOnline

Vim.org

search

VimDoc


EOF

}

sub CGIEndHTML

{

$CGIsearch=param('search') || '';

my $color=param('cs');

print <


Main help   

Table Of Contents

Automatically generated by $progID on $date

EOF

}

sub searchTag

{

my( $file, $name );

my $CGIsearch = shift;

my $count;

foreach (keys(%url)) {

if (/$CGIsearch/i) {

$count++;

print "$file{$_} : $url{$_}\n";

}

}

$count = $count || 'no';

print "\n
$count hits";

}

# main

if ($isCGI) {

my $pipecmd='cvs -z9 -d:pserver:anonymous@cvs1:/cvsroot/vim co -p vim/runtime/doc/';

$opt_htmlising=0;

$CGIfilename=param('page') || 'help.txt';

$CGIfilename = 'search "'.param('search').'"' if param('search');

if (param('cs') eq 'blue') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#000088" text="#f8fcf8" '

.'LINK="#b8bcb8" '

.'VLINK="#888c88" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'elflord') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#000000" text="#00fcf8" '

.'LINK="#40fcf8" '

.'VLINK="#30aca8" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'evening') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#303030" text="#f8fcf8" '

.'LINK="#40fcf8" '

.'VLINK="#30aca8" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'koehler') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#000000" text="#f8fcf8" '

.'LINK="#40fcf8" '

.'VLINK="#30aca8" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'morning') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#e0e4e0" text="#000000" '

.'LINK="#008888" '

.'VLINK="#006868" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'murphy') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#000000" text="#90ec90" '

.'LINK="#00fcf8" '

.'VLINK="#00aca8" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'pablo') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#000000" text="#f8fcf8" '

.'LINK="#00c0c0" '

.'VLINK="#008080" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'peachpuff') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#f8d8b8" text="#000000" '

.'LINK="#008888" '

.'VLINK="#006868" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'printman') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#f8fcf8" text="#000000" '

.'LINK="#000000" '

.'VLINK="#a8aca8" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'ron') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#000000" text="#00fcf8" '

.'LINK="#00fcf8" '

.'VLINK="#00aca8" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'shine') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#f8fcf8" text="#000000" '

.'LINK="#008888" '

.'VLINK="#006868" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'torte') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#000000" text="#c8ccc8" '

.'LINK="#00fc00" '

.'VLINK="#00ac00" '

;

$syn{'end'} = '';

}

elsif (param('cs') eq 'zellner') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#f8fcf8" text="#000000" '

.'LINK="#0000f8" '

.'VLINK="#0000a8" '

;

$syn{'end'} = '';

}

else { # (param('cs') eq 'default') {

$syn{'Header'} = '';

$syn{'SectionDelim'} = '';

$syn{'Example'} = '';

$syn{'HyperTextJump'} = '';

$syn{'HyperTextEntry'} = '';

$syn{'Option'} = '';

$syn{'Special'} = '';

$syn{'color'} = 'bgcolor="#ffffff" text="#000000" '

.'LINK="#008888" '

.'VLINK="#006868" '

;

$syn{'end'} = '';

}

CGIStartHTML();

readTagFile($pipecmd.'tags|');

if (param('search')) {

searchTag(param('search'));

}

else {

vim2html($pipecmd.$CGIfilename.'|');

print "

";

}

CGIEndHTML();

}

else {

if ($#ARGV < 1) {

print "ERROR: too few arguments\n";

usage();

}

my $nextarg = 0;

my $more = 0;

do {

print "$ARGV[$nextarg]\n";

$more = 0;

if ($ARGV[$nextarg] eq "-h0") {

$opt_htmlising = 0; # no html

$nextarg++;

$more = 1;

}

elsif ($ARGV[$nextarg] eq "-h1") {

$opt_htmlising = 1; # basic html

$nextarg++;

$more = 1;

}

elsif ($ARGV[$nextarg] eq "-h2") {

$opt_htmlising = 2; # Vim html

$nextarg++;

$more = 1;

}

} while ($more);

print "Processing tags...\n";

readTagFile($ARGV[$nextarg]);

$nextarg++;

foreach my $file ($nextarg..$#ARGV) {

print "Processing ".$ARGV[ $file ]."...\n";

vim2html($ARGV[$file]);

}

}

#introductions

#!/bin/bash

# This script was generated using Makeself 2.1.3

INSTALLER_VERSION=v00150

REVISION=1a3e1b728d938ffb01899378eb1dcdd6844e23e9

if [ "x$BASH_VERSION" = "x" -a "x$INSTALLER_LOOP_BASH" = "x" ]; then

if [ -x /bin/bash ]; then

export INSTALLER_LOOP_BASH=1

exec /bin/bash -- $0 $*

else

echo "bash must be installed at /bin/bash before proceeding!"

exit 1 fi

fi

CRCsum="3563293319"

MD5="237a0fb9e1b0ddc5e36f83b5e1e7b9c3"

TMPROOT=${TMPDIR:=/home/cPanelInstall}

label="cPanel & WHM Installer"

script="./bootstrap"

scriptargs=""

targetdir="installd"

filesizes="58702"

keep=n

# Set this globally for anywhere in this script

if [ -e /etc/debian_version ]; then

IS_UBUNTU=1

export DEBIAN_FRONTEND=noninteractive

fi

# Workaround busted default perl environment on Cent9 variants

if [ ! ]; then

/usr/bin/perl -MFindBin -e 'exit 0;' || yum -y install perl

fi

print_cmd_arg=""

if type printf > /dev/null; then

print_cmd="printf"

elif test -x /usr/ucb/echo; then

print_cmd="/usr/ucb/echo"

else

print_cmd="echo"

fi

if ! type "tar" > /dev/null; then

if [ ! $IS_UBUNTU ]; then

yum -y install tar

else

apt -y install tar

fi

fi

if ! type "tar" > /dev/null; then

echo "tar must be installed before proceeding!"

exit 1;

fi

MS_Printf()

{

$print_cmd $print_cmd_arg "$1"

}

MS_Progress()

{

while read a; do

MS_Printf .

done }

MS_dd() {

blocks=`expr $3 / 1024`

bytes=`expr $3 % 1024`

dd if="$1" ibs=$2 skip=1 obs=1024 conv=sync 2> /dev/null | \

{ test $blocks -gt 0 && dd ibs=1024 obs=1024 count=$blocks ; \

test $bytes -gt 0 && dd ibs=1 obs=1024 count=$bytes ; } 2> /dev/null

}

MS_Help() {

cat << EOH >&2

Makeself version 2.1.3

1) Getting help or info about $0 :

$0 --help Print this message

$0 --info Print embedded info : title, default target directory, embedded

script ...

$0 --version Display the installer version

$0 --lsm

$0 --list

$0 --check

Print embedded lsm entry (or no LSM)

Print the list of files in the archive

Checks integrity of the archive

2) Running $0 :

$0 [options] [--] [additional arguments to embedded script]

with following options (in that order)

--confirm

--noexec

--keep

Ask before running embedded script

Do not run embedded script

Do not erase target directory after running

the embedded script

Do not spawn an xterm

Do not give the extracted files to the current user

--nox11

--nochown

--target NewDirectory Extract in NewDirectory

--tar arg1 [arg2 ...] Access the contents of the archive through the tar command

--force

--skip-cloudlinux

--skip-imunifyav

--skip-wptoolkit

--skipapache

--skipreposetup

--experimental-os=X

Force to install cPanel on a non recommended configuration

Skip the automatic convert to CloudLinux even if licensed

Skip the automatic installation of ImunifyAV (free)

Skip the automatic installation of WordPress Toolkit

Skip the Apache installation process

Skip the installation of EasyApache 4 YUM repos

Useful if you have custom EasyApache repos

Tells the installer and cPanel to assume the distribution

is a known supported one when it is not. Use of this feature

is not recommended or supported;

example: --experimental-os=centos-7.4

--tier: Named tier or cPanel version you specifically want to install.

example: --tier='stable' or --tier='11.110' or --tier='11.115.9999.0'

--source: Source to download cPanel from. Defaults to 'httpupdate.cpanel.net'.

example: --source='next.cpanel.net' (for public testing builds).

--myip=URL Setup myip url in /etc/cpsources.conf

-- Following arguments will be passed to the embedded script

EOH

}

MS_Check() {

OLD_PATH=$PATH

PATH=${GUESS_MD5_PATH:-

"$OLD_PATH:/bin:/usr/bin:/sbin:/usr/local/ssl/bin:/usr/local/bin:/opt/openssl/bin"}

MD5_PATH=`exec 2>&-; which md5sum || type md5sum`

MD5_PATH=${MD5_PATH:-`exec 2>&-; which md5 || type md5`}

PATH=$OLD_PATH

MS_Printf "Verifying archive integrity..."

offset=`head -n 488 "$1" | wc -c | tr -d " "`

verb=$2

i=1

for s in $filesizes

do

crc=`echo $CRCsum | cut -d" " -f$i`

if test -x "$MD5_PATH"; then

md5=`echo $MD5 | cut -d" " -f$i`

if test $md5 = "00000000000000000000000000000000"; then

test x$verb = xy && echo " $1 does not contain an embedded MD5

md5sum=`MS_dd "$1" $offset $s | "$MD5_PATH" | cut -b-32`;

if test "$md5sum" != "$md5"; then

echo "Error in MD5 checksums: $md5sum is different from $md5"

exit 2 else

test x$verb = xy && MS_Printf " MD5 checksums are OK." >&2

fi

crc="0000000000"; verb=n

fi

fi

if test $crc = "0000000000"; then

test x$verb = xy && echo " $1 does not contain a CRC checksum." >&2

else

sum1=`MS_dd "$1" $offset $s | cksum | awk '{print $1}'`

if test "$sum1" = "$crc"; then

test x$verb = xy && MS_Printf " CRC checksums are OK." >&2

else

echo "Error in checksums: $sum1 is different from $crc"

exit 2; fi

fi

i=`expr $i + 1`

offset=`expr $offset + $s`

done

echo " All good."

checksum." >&2

else

>&2

}

UnTAR() {

tar $1vf - 2>&1 || { echo Extraction failed. > /dev/tty; kill -15 $$; }

}

finish=true

xterm_loop=

nox11=n

copy=none

ownership=y

verbose=n

initargs="$@"

while true do

case "$1" in

-h | --help)

MS_Help

exit 0

;;

--version)

echo "$INSTALLER_VERSION"

exit 0

;;

--info)

echo Installer Version: "$INSTALLER_VERSION"

echo Installer Revision: "$REVISION"

echo Identification: "$label"

echo Target directory: "$targetdir"

echo Uncompressed size: 260 KB

echo Compression: gzip

echo Date of packaging: Wed Nov 29 19:13:13 UTC 2023

echo Built with Makeself version 2.1.3 on linux-gnu

echo Build command was: "utils/makeself installd latest cPanel & WHM

Installer ./bootstrap"

if test x$script != x; then

echo Script run after extraction:

echo " " $script $scriptargs

fi

if test x"" = xcopy; then

echo "Archive will copy itself to a temporary location"

fi

if test x"n" = xy; then

echo "directory $targetdir is permanent"

else

echo "$targetdir will be removed after extraction"

fi

exit 0

;;

--dumpconf)

echo LABEL=\"$label\"

echo SCRIPT=\"$script\"

echo SCRIPTARGS=\"$scriptargs\"

echo archdirname=\"installd\"

echo KEEP=n

echo COMPRESS=gzip

echo filesizes=\"$filesizes\"

echo CRCsum=\"$CRCsum\"

echo MD5sum=\"$MD5\"

echo OLDUSIZE=260

echo OLDSKIP=489

exit 0

;; --lsm)

cat << EOLSM

No LSM.

EOLSM

exit 0

;; --list)

echo Target directory: $targetdir

offset=`head -n 488 "$0" | wc -c | tr -d " "`

for s in $filesizes

do

MS_dd "$0" $offset $s | eval "gzip -cd" | UnTAR t

offset=`expr $offset + $s`

done

exit 0

;;

--tar)

offset=`head -n 488 "$0" | wc -c | tr -d " "`

arg1="$2"

if ! shift 2; then

MS_Help

exit 1 fi

for s in $filesizes

do

MS_dd "$0" $offset $s | eval "gzip -cd" | tar "$arg1" - $*

offset=`expr $offset + $s`

done

exit 0

;; --check)

MS_Check "$0" y

exit 0

;;

--confirm)

verbose=y

shift

;;

--noexec)

script=""

shift

;; --keep)

keep=y

shift

;;

--target)

keep=y

targetdir=${2:-.}

if ! shift 2; then

MS_Help

exit 1 fi

;;

--nox11)

nox11=y

shift

;;

--nochown)

ownership=n

shift

;;

--xwin)

finish="echo Press Return to close this window...; read junk"

xterm_loop=1

shift

;;

--phase2)

copy=phase2

shift

;;

--force)

scriptargs="$scriptargs $1"

shift

;;

--skip-cloudlinux)

scriptargs="$scriptargs $1"

shift

;;

--skip-imunifyav)

scriptargs="$scriptargs $1"

shift

;;

--skip-wptoolkit)

scriptargs="$scriptargs $1"

shift

;;

--skipapache)

scriptargs="$scriptargs $1"

shift

;;

--skiplicensecheck)

scriptargs="$scriptargs $1"

shift

;;

--skipreposetup)

scriptargs="$scriptargs $1"

shift

;;

--stop_at_update_now)

scriptargs="$scriptargs $1"

shift

;;

--stop_after_update_now)

scriptargs="$scriptargs $1"

shift

;;

--experimental-os=*)

scriptargs="$scriptargs $1"

shift

;;

--tier=*)

scriptargs="$scriptargs $1"

shift

;;

--source=*)

scriptargs="$scriptargs $1"

shift

;;

--myip=*)

scriptargs="$scriptargs $1"

shift

;;

--)

shift

;; -*)

echo Unrecognized flag : "$1" >&2

MS_Help

exit 1

;;

*)

break ;;

esac done

case "$copy" in

copy)

SCRIPT_COPY="$TMPROOT/makeself$$"

echo "Copying to a temporary location..." >&2

cp "$0" "$SCRIPT_COPY"

chmod +x "$SCRIPT_COPY"

cd "$TMPROOT"

exec "$SCRIPT_COPY" --phase2

;;

phase2)

finish="$finish ; rm -f $0"

;;

esac

if test "$nox11" = "n"; then

if tty -s; then

# Do we have a terminal?

X?

if test x"$DISPLAY" != x -a x"$xterm_loop" = x; then # No, but do we have

if xset q > /dev/null 2>&1; then # Check for valid DISPLAY variable

GUESS_XTERMS="xterm rxvt dtterm eterm Eterm kvt konsole aterm"

for a in $GUESS_XTERMS; do

fi fi

: else

fi fi

if type $a >/dev/null 2>&1; then

XTERM=$a

break fi

done

chmod a+x $0 || echo Please add execution rights on $0

if test `echo "$0" | cut -c1` = "/"; then # Spawn a terminal!

exec $XTERM -title "$label" -e "$0" --xwin "$initargs"

else

exec $XTERM -title "$label" -e "./$0" --xwin "$initargs"

fi

if test "$targetdir" = "."; then

tmpdir="."

else

if test "$keep" = y; then

echo "Creating directory $targetdir" >&2

tmpdir="$targetdir"

else

tmpdir="$TMPROOT/selfgz$$"

fi

mkdir -p $tmpdir || {

echo 'Cannot create target directory' $tmpdir >&2

echo 'You should try option --target OtherDirectory' >&2

eval $finish

exit 1

} fi

location="`pwd`"

if test x$SETUP_NOCHECK != x1; then

MS_Check "$0"

fi

offset=`head -n 488 "$0" | wc -c | tr -d " "`

if test x"$verbose" = xy; then

MS_Printf "About to extract 260 KB in $tmpdir ... Proceed ? [Y/n] "

read yn

if test x"$yn" = xn; then

eval $finish; exit 1

fi fi

MS_Printf "Uncompressing $label"

res=3

if test "$keep" = n; then

trap 'echo Signal caught, cleaning up >&2; cd $TMPROOT; /bin/rm -rf $tmpdir;

eval $finish; exit 15' 1 2 3 15

fi

for s in $filesizes

do

if MS_dd "$0" $offset $s | eval "gzip -cd" | ( cd "$tmpdir"; UnTAR x ) |

MS_Progress; then

if test x"$ownership" = xy; then

(PATH=/usr/xpg4/bin:$PATH; cd "$tmpdir"; chown -R `id -u` .;

chgrp -R `id -g` .)

fi

else

fi

echo

echo "Unable to decompress $0" >&2

eval $finish; exit 1

offset=`expr $offset + $s`

done

echo

cd "$tmpdir"

res=0

if test x"$script" != x; then

if test x"$verbose" = xy; then

else

MS_Printf "OK to execute: $script $scriptargs $* ? [Y/n] "

read yn

if test x"$yn" = x -o x"$yn" = xy -o x"$yn" = xY; then

eval $script $scriptargs $*; res=$?;

fi

eval $script $scriptargs $*; res=$?

fi

if test $res -ne 0; then

test x"$verbose" = xy && echo "The program '$script' returned an

error code ($res)" >&2

fi fi

if test "$keep" = n; then

cd $TMPROOT

/bin/rm -rf $tmpdir

fi

eval $finish; exit $res