<?php
// cow_says_insertion.php
// RJM Programming - November, 2026
// say "Hello [[ slnc 2000 ]] how are you doing today?"
  
  $visl="";
  $visr="";
  $sayls="";
  $sayrs="";
  $saycmd="";
  $roff=0;
  $leftfl="c";
  $rightfl="c";
  $ipaddr="youllneverfindthis";
  $posted="";
  $lmcss="";
  $rmcss="";
  $bigsofarl="";
  $bigsofarr="";
  $smallsofarl="";
  $smallsofarr="";
  $lmcssinit="";
  $rmcssinit="";
  $lfontc="black";
  $rfontc="black";
  $lbc="#f9f9f9";
  $rbc="#f9f9f9";
  $wper="100";
  $hval="400";
  $bs="1.0";
  $revstr="";
  $revstrr="";
  
  $langl="";
  $langr="";
  if (isset($_GET['dogt'])) {
    $langl=explode(',',str_replace('+',' ',urldecode($_GET['dogt'])))[0];
    if (strpos(str_replace('+',' ',urldecode($_GET['dogt'])), ',') !== false) {
     $langr=explode(',',str_replace('+',' ',urldecode($_GET['dogt'])))[-1 + sizeof(explode(',',str_replace('+',' ',urldecode($_GET['dogt']))))];
    }
  } 
  if (isset($_POST['dogt'])) {
    $langl=explode(',',str_replace('+',' ',urldecode($_POST['dogt'])))[0];
    if (strpos(str_replace('+',' ',urldecode($_POST['dogt'])), ',') !== false) {
     $langr=explode(',',str_replace('+',' ',urldecode($_POST['dogt'])))[-1 + sizeof(explode(',',str_replace('+',' ',urldecode($_POST['dogt']))))];
    }
  }
  
  $sayls="&nbsp;&nbsp;<select onchange=\"changelang(this);\" title=\"Thanks to Google Translate at https://translate.google.com\" style=\"width:36px;display:inline-block;\" id=\"languagel\"><option id=zl value=\"\">&#x1F310; Language</option><option id=\"langone\" value=\"en\">English (en)</option><!--option id=nativel value=\"  \">Default Language</option--><option value=\"af\">Afrikaans</option><option value=\"als\">Alemannisch</option><option value=\"am\">አማርኛ</option><option value=\"ang\">Ænglisc</option><option value=\"ar\">العربية</option><option value=\"ast\">Asturianu</option><option value=\"gn\">Avañe' . \"'\" . 'ẽ</option><option value=\"az\">Azərbaycanca</option><option value=\"azb\">تۆرکجه</option><option value=\"ban\">Basa Bali</option><option value=\"bn\">বাংলা</option><option value=\"zh-min-nan\">Bân-lâm-gú</option><option value=\"ba\">Башҡортса</option><option value=\"be\">Беларуская</option><option value=\"be-tarask\">Беларуская (тарашкевіца)</option><option value=\"bh\">भोजपुरी</option><option value=\"bg\">Български</option><option value=\"br\">Brezhoneg</option><option value=\"ca\">Català</option><option value=\"cv\">Чӑвашла</option><option value=\"ceb\">Cebuano</option><option value=\"cs\">Čeština</option><option value=\"cy\">Cymraeg</option><option value=\"da\">Dansk</option><option value=\"ary\">الدارجة</option><option value=\"de\">Deutsch</option><option value=\"et\">Eesti</option><option value=\"el\">Ελληνικά</option><option value=\"es\">Español</option><option value=\"eo\">Esperanto</option><option value=\"eu\">Euskara</option><option value=\"fa\">فارسی</option><option value=\"hif\">Fiji Hindi</option><option value=\"fo\">Føroyskt</option><option value=\"fr\">Français</option><option value=\"fy\">Frysk</option><option value=\"ga\">Gaeilge</option><option value=\"gd\">Gàidhlig</option><option value=\"gl\">Galego</option><option value=\"gu\">ગુજરાતી</option><option value=\"hak\">客家語/Hak-kâ-ngî</option><option value=\"ko\">한국어</option><option value=\"ha\">Hausa</option><option value=\"haw\">Hawaiʻi</option><option value=\"hy\">Հայերեն</option><option value=\"hi\">हिन्दी</option><option value=\"hr\">Hrvatski</option><option value=\"io\">Ido</option><option value=\"id\">Bahasa Indonesia</option><option value=\"ie\">Interlingue</option><option value=\"os\">Ирон</option><option value=\"is\">Íslenska</option><option value=\"it\">Italiano</option><option value=\"he\">עברית</option><option value=\"jv\">Jawa</option><option value=\"kn\">ಕನ್ನಡ</option><option value=\"ka\">ქართული</option><option value=\"kk\">Қазақша</option><option value=\"sw\">Kiswahili</option><option value=\"ku\">Kurdî</option><option value=\"ky\">Кыргызча</option><option value=\"lad\">Ladino</option><option value=\"la\">Latina</option><option value=\"lv\">Latviešu</option><option value=\"lb\">Lëtzebuergesch</option><option value=\"lt\">Lietuvių</option><option value=\"lij\">Ligure</option><option value=\"li\">Limburgs</option><option value=\"lmo\">Lombard</option><option value=\"hu\">Magyar</option><option value=\"mk\">Македонски</option><option value=\"mg\">Malagasy</option><option value=\"ml\">മലയാളം</option><option value=\"mi\">Māori</option><option value=\"mr\">मराठी</option><option value=\"xmf\">მარგალური</option><option value=\"arz\">مصرى</option><option value=\"ms\">Bahasa Melayu</option><option value=\"cdo\">閩東語 / Mìng-dĕ̤ng-ngṳ̄</option><option value=\"mn\">Монгол</option><option value=\"my\">မြန်မာဘာသာ</option><option value=\"nah\">Nāhuatl</option><option value=\"na\">Dorerin Naoero</option><option value=\"fj\">Na Vosa Vakaviti</option><option value=\"nl\">Nederlands</option><option value=\"ne\">नेपाली</option><option value=\"ja\">日本語</option><option value=\"ce\">Нохчийн</option><option value=\"frr\">Nordfriisk</option><option value=\"pih\">Norfuk / Pitkern</option><option value=\"no\">Norsk bokmål</option><option value=\"nn\">Norsk nynorsk</option><option value=\"oc\">Occitan</option><option value=\"uz\">Oʻzbekcha/ўзбекча</option><option value=\"pa\">ਪੰਜਾਬੀ</option><option value=\"pnb\">پنجابی</option><option value=\"pap\">Papiamentu</option><option value=\"ps\">پښتو</option><option value=\"tpi\">Tok Pisin</option><option value=\"pl\">Polski</option><option value=\"pt\">Português</option><option value=\"ro\">Română</option><option value=\"qu\">Runa Simi</option><option value=\"ru\">Русский</option><option value=\"sah\">Саха тыла</option><option value=\"sm\">Gagana Samoa</option><option value=\"sa\">संस्कृतम्</option><option value=\"sc\">Sardu</option><option value=\"sco\">Scots</option><option value=\"stq\">Seeltersk</option><option value=\"scn\">Sicilianu</option><option value=\"si\">සිංහල</option><option value=\"simple\">Simple English</option><option value=\"sd\">سنڌي</option><option value=\"sk\">Slovenčina</option><option value=\"sl\">Slovenščina</option><option value=\"szl\">Ślůnski</option><option value=\"so\">Soomaaliga</option><option value=\"ckb\">کوردی</option><option value=\"sr\">Српски / srpski</option><option value=\"sh\">Srpskohrvatski / српскохрватски</option><option value=\"fi\">Suomi</option><option value=\"sv\">Svenska</option><option value=\"tl\">Tagalog</option><option value=\"ta\">தமிழ்</option><option value=\"kab\">Taqbaylit</option><option value=\"tt\">Татарча/tatarça</option><option value=\"th\">ไทย</option><option value=\"tg\">Тоҷикӣ</option><option value=\"to\">Lea faka-Tonga</option><option value=\"tr\">Türkçe</option><option value=\"tw\">Twi</option><option value=\"uk\">Українська</option><option value=\"ur\">اردو</option><option value=\"vep\">Vepsän kel’</option><option value=\"vi\">Tiếng Việt</option><option value=\"vo\">Volapük</option><option value=\"war\">Winaray</option><option value=\"wuu\">吴语</option><option value=\"zh-yue\">粵語</option><option value=\"diq\">Zazaki</option><option value=\"bat-smg\">Žemaitėška</option><option value=\"zh\">中文</option></select>";
  $sayrs="&nbsp;&nbsp;<select onchange=\"changelang(this);\" title=\"Thanks to Google Translate at https://translate.google.com\" style=\"width:36px;display:inline-block;\" id=\"languager\"><option id=zl value=\"\">&#x1F310; Language</option><option id=\"langone\" value=\"en\">English (en)</option><!--option id=nativel value=\"  \">Default Language</option--><option value=\"af\">Afrikaans</option><option value=\"als\">Alemannisch</option><option value=\"am\">አማርኛ</option><option value=\"ang\">Ænglisc</option><option value=\"ar\">العربية</option><option value=\"ast\">Asturianu</option><option value=\"gn\">Avañe' . \"'\" . 'ẽ</option><option value=\"az\">Azərbaycanca</option><option value=\"azb\">تۆرکجه</option><option value=\"ban\">Basa Bali</option><option value=\"bn\">বাংলা</option><option value=\"zh-min-nan\">Bân-lâm-gú</option><option value=\"ba\">Башҡортса</option><option value=\"be\">Беларуская</option><option value=\"be-tarask\">Беларуская (тарашкевіца)</option><option value=\"bh\">भोजपुरी</option><option value=\"bg\">Български</option><option value=\"br\">Brezhoneg</option><option value=\"ca\">Català</option><option value=\"cv\">Чӑвашла</option><option value=\"ceb\">Cebuano</option><option value=\"cs\">Čeština</option><option value=\"cy\">Cymraeg</option><option value=\"da\">Dansk</option><option value=\"ary\">الدارجة</option><option value=\"de\">Deutsch</option><option value=\"et\">Eesti</option><option value=\"el\">Ελληνικά</option><option value=\"es\">Español</option><option value=\"eo\">Esperanto</option><option value=\"eu\">Euskara</option><option value=\"fa\">فارسی</option><option value=\"hif\">Fiji Hindi</option><option value=\"fo\">Føroyskt</option><option value=\"fr\">Français</option><option value=\"fy\">Frysk</option><option value=\"ga\">Gaeilge</option><option value=\"gd\">Gàidhlig</option><option value=\"gl\">Galego</option><option value=\"gu\">ગુજરાતી</option><option value=\"hak\">客家語/Hak-kâ-ngî</option><option value=\"ko\">한국어</option><option value=\"ha\">Hausa</option><option value=\"haw\">Hawaiʻi</option><option value=\"hy\">Հայերեն</option><option value=\"hi\">हिन्दी</option><option value=\"hr\">Hrvatski</option><option value=\"io\">Ido</option><option value=\"id\">Bahasa Indonesia</option><option value=\"ie\">Interlingue</option><option value=\"os\">Ирон</option><option value=\"is\">Íslenska</option><option value=\"it\">Italiano</option><option value=\"he\">עברית</option><option value=\"jv\">Jawa</option><option value=\"kn\">ಕನ್ನಡ</option><option value=\"ka\">ქართული</option><option value=\"kk\">Қазақша</option><option value=\"sw\">Kiswahili</option><option value=\"ku\">Kurdî</option><option value=\"ky\">Кыргызча</option><option value=\"lad\">Ladino</option><option value=\"la\">Latina</option><option value=\"lv\">Latviešu</option><option value=\"lb\">Lëtzebuergesch</option><option value=\"lt\">Lietuvių</option><option value=\"lij\">Ligure</option><option value=\"li\">Limburgs</option><option value=\"lmo\">Lombard</option><option value=\"hu\">Magyar</option><option value=\"mk\">Македонски</option><option value=\"mg\">Malagasy</option><option value=\"ml\">മലയാളം</option><option value=\"mi\">Māori</option><option value=\"mr\">मराठी</option><option value=\"xmf\">მარგალური</option><option value=\"arz\">مصرى</option><option value=\"ms\">Bahasa Melayu</option><option value=\"cdo\">閩東語 / Mìng-dĕ̤ng-ngṳ̄</option><option value=\"mn\">Монгол</option><option value=\"my\">မြန်မာဘာသာ</option><option value=\"nah\">Nāhuatl</option><option value=\"na\">Dorerin Naoero</option><option value=\"fj\">Na Vosa Vakaviti</option><option value=\"nl\">Nederlands</option><option value=\"ne\">नेपाली</option><option value=\"ja\">日本語</option><option value=\"ce\">Нохчийн</option><option value=\"frr\">Nordfriisk</option><option value=\"pih\">Norfuk / Pitkern</option><option value=\"no\">Norsk bokmål</option><option value=\"nn\">Norsk nynorsk</option><option value=\"oc\">Occitan</option><option value=\"uz\">Oʻzbekcha/ўзбекча</option><option value=\"pa\">ਪੰਜਾਬੀ</option><option value=\"pnb\">پنجابی</option><option value=\"pap\">Papiamentu</option><option value=\"ps\">پښتو</option><option value=\"tpi\">Tok Pisin</option><option value=\"pl\">Polski</option><option value=\"pt\">Português</option><option value=\"ro\">Română</option><option value=\"qu\">Runa Simi</option><option value=\"ru\">Русский</option><option value=\"sah\">Саха тыла</option><option value=\"sm\">Gagana Samoa</option><option value=\"sa\">संस्कृतम्</option><option value=\"sc\">Sardu</option><option value=\"sco\">Scots</option><option value=\"stq\">Seeltersk</option><option value=\"scn\">Sicilianu</option><option value=\"si\">සිංහල</option><option value=\"simple\">Simple English</option><option value=\"sd\">سنڌي</option><option value=\"sk\">Slovenčina</option><option value=\"sl\">Slovenščina</option><option value=\"szl\">Ślůnski</option><option value=\"so\">Soomaaliga</option><option value=\"ckb\">کوردی</option><option value=\"sr\">Српски / srpski</option><option value=\"sh\">Srpskohrvatski / српскохрватски</option><option value=\"fi\">Suomi</option><option value=\"sv\">Svenska</option><option value=\"tl\">Tagalog</option><option value=\"ta\">தமிழ்</option><option value=\"kab\">Taqbaylit</option><option value=\"tt\">Татарча/tatarça</option><option value=\"th\">ไทย</option><option value=\"tg\">Тоҷикӣ</option><option value=\"to\">Lea faka-Tonga</option><option value=\"tr\">Türkçe</option><option value=\"tw\">Twi</option><option value=\"uk\">Українська</option><option value=\"ur\">اردو</option><option value=\"vep\">Vepsän kel’</option><option value=\"vi\">Tiếng Việt</option><option value=\"vo\">Volapük</option><option value=\"war\">Winaray</option><option value=\"wuu\">吴语</option><option value=\"zh-yue\">粵語</option><option value=\"diq\">Zazaki</option><option value=\"bat-smg\">Žemaitėška</option><option value=\"zh\">中文</option></select>";
  
  if (isset($_POST['lhdiag']) || isset($_GET['lhdiag'])) {
  $posted="yes";
  if (isset($_GET['lfontc'])) {
    $lfontc=str_replace('+',' ',urldecode($_GET['lfontc']));
  }
  if (isset($_GET['rfontc'])) {
    $rfontc=str_replace('+',' ',urldecode($_GET['rfontc']));
  }
  if (isset($_POST['lfontc'])) {
    $lfontc=str_replace('+',' ',urldecode($_POST['lfontc']));
  }
  if (isset($_POST['rfontc'])) {
    $rfontc=str_replace('+',' ',urldecode($_POST['rfontc']));
  }
  if (isset($_GET['lbc'])) {
    $lbc=str_replace('+',' ',urldecode($_GET['lbc']));
  }
  if (isset($_GET['rbc'])) {
    $rbc=str_replace('+',' ',urldecode($_GET['rbc']));
  }
  if (isset($_POST['lbc'])) {
    $lbc=str_replace('+',' ',urldecode($_POST['lbc']));
  }
  if (isset($_POST['rbc'])) {
    $rbc=str_replace('+',' ',urldecode($_POST['rbc']));
  }
  if (isset($_GET['lmcss'])) {
    $lmcss=str_replace('+',' ',urldecode($_GET['lmcss']));
    if (trim($lmcss) != "") { $lmcssinit=" title=\"" . $lmcss . "\" ";   }
  }
  if (isset($_GET['rmcss'])) {
    $rmcss=str_replace('+',' ',urldecode($_GET['rmcss']));
    if (trim($rmcss) != "") { $rmcssinit=" title=\"" . $rmcss . "\" ";   }
  }
  if (isset($_POST['lmcss'])) {
    $lmcss=str_replace('+',' ',urldecode($_POST['lmcss']));
    if (trim($lmcss) != "") { $lmcssinit=" title=\"" . $lmcss . "\" ";   }
  }
  if (isset($_POST['rmcss'])) {
    $rmcss=str_replace('+',' ',urldecode($_POST['rmcss']));
    if (trim($rmcss) != "") { $rmcssinit=" title=\"" . $rmcss . "\" ";   }
  }
  $wper="125";
  $hval="800";
  $bs="0.75";
  }
  if (!isset($_POST['lhdiag']) && isset($_GET['lhdiag'])) {
    if (strtolower(substr(str_replace('+',' ',urldecode($_GET['lhdiag'])),0,7)) == 'cowsay ') {
      $_POST['lhdiag']=$_GET['lhdiag'];
    }
  }
  if (!isset($_POST['rhdiag']) && isset($_GET['rhdiag'])) {
    if (strtolower(substr(str_replace('+',' ',urldecode($_GET['rhdiag'])),0,7)) == 'cowsay ') {
      $_POST['rhdiag']=$_GET['rhdiag'];
    }
  }
  if (substr($_POST['lhdiag'],0,1) == 'C') { $leftfl='C';  }
  if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C'; $roff=-32; }
  $sb=" -c \"stegosaurus\" ";
  $sbtwo=" -t ";
  $lts='|';
  $gts='|';
  $clist="beavis, cheese, cow, daemon, dragon, fox, ghostbusters, kitty, meow, miki, milk, octopus, pig, stegosaurus, stimpy, trex, turkey, turtle, tux";
  $clistsw="-c";
if (strtoupper(PHP_OS) == "DARWIN") {
$lts='<';
$gts='>';
$revstr="";
$revstrr="";
$sb=" -r -g -p ";
$sbtwo=" ";
$cb="For random greedy paranoid enter -r -g -p";
$clist="actually, alpaca, beavis.zen, blowfish, bong, bud-frogs, bunny, cheese, cower, cupcake, daemon, default, dragon, dragon-and-cow, elephant, elephant-in-snake, eyes, flaming-sheep, fox, ghostbusters, head-in, hellokitty, kiss, kitty, koala, kosh, llama, luke-koala, mech-and-cow, meow, milk, moofasa, moose, mutilated, ren, sheep, skeleton, small, stegosaurus, stimpy, supermilker, surgery, sus, three-eyes, turkey, turtle, tux, udder, vader, vader-koala, www";
$clistsw="-f";
if (isset($_POST['lhdiag']) && isset($_POST['rhdiag']) && (isset($_GET['dosay']) || isset($_POST['dosay']))) {
 if (strtolower(substr($_POST['lhdiag'],0,6)) == 'cowsay' && strtolower(substr($_POST['rhdiag'],0,6)) == 'cowsay') {
  $visl="";
  $visr="";
  if (isset($_POST['dosay'])) {
    if (strpos(str_replace('+',' ',urldecode($_POST['dosay'])), ',') !== false) {
      $visl=" -v " . explode(',', str_replace('+',' ',urldecode($_POST['dosay'])))[0] . " ";
      $visr=" -v " . explode(',', str_replace('+',' ',urldecode($_POST['dosay'])))[1] . " ";
    } else if (trim(str_replace('+',' ',urldecode($_POST['dosay']))) != '') {
      $visl=" -v " . explode(',', str_replace('+',' ',urldecode($_POST['dosay'])))[0] . " ";
    }
  }
  if (isset($_GET['dosay'])) {
    if (strpos(str_replace('+',' ',urldecode($_GET['dosay'])), ',') !== false) {
      $visl=" -v " . explode(',', str_replace('+',' ',urldecode($_GET['dosay'])))[0] . " ";
      $visr=" -v " . explode(',', str_replace('+',' ',urldecode($_GET['dosay'])))[1] . " ";
    } else if (trim(str_replace('+',' ',urldecode($_GET['dosay']))) != '') {
      $visl=" -v " . explode(',', str_replace('+',' ',urldecode($_GET['dosay'])))[0] . " ";
    }
  }
  if ($visr == '') {
  $saycmd=" exec('say" . $visl . " \"" . explode('"', str_replace('+',' ',urldecode($_POST['lhdiag'])))[-2 + sizeof(explode('"', str_replace('+',' ',urldecode($_POST['lhdiag']))))] . "\" [[ slnc 8000 ]] " . explode('"', str_replace('+',' ',urldecode($_POST['rhdiag'])))[-2 + sizeof(explode('"', str_replace('+',' ',urldecode($_POST['rhdiag']))))] . "\"'); ";
  } else {
  $saycmd=" exec('say" . $visl . " \"" . explode('"', str_replace('+',' ',urldecode($_POST['lhdiag'])))[-2 + sizeof(explode('"', str_replace('+',' ',urldecode($_POST['lhdiag']))))] . "\" ; " . "say" . $visr . " \" [[ slnc 8000 ]] " . explode('"', str_replace('+',' ',urldecode($_POST['rhdiag'])))[-2 + sizeof(explode('"', str_replace('+',' ',urldecode($_POST['rhdiag']))))] . "\"'); ";
  }
 }
}

$sayls.="&nbsp;&nbsp;<select title=\"Text to audio via macOS say\" style=\"display:inline-block;width:36px;display:inline-block;\" onchange=\"if (this.value.length > 0) { document.getElementById('dosay').name='dosay'; if (document.getElementById('dosay').value.length == 0) { document.getElementById('dosay').value=this.value.split(' ')[eval(-1 + this.value.split(' ').length)]; } else { document.getElementById('dosay').value=this.value.split(' ')[eval(-1 + this.value.split(' ').length)] + ',' +  document.getElementById('dosay').value; }  } syl='&dosay=' + encodeURIComponent(document.getElementById('dosay').value); syr='';\" id=\"svoicecodel\" value=\"en_US Alex\"><option value=\" \">&#x1F4AC; Optionally select voice name to suit ...</option>
<option value=\"en_US Alex\">Alex en_US Most people recognize me by my voice.</option><option value=\"en_GB Daniel\">Daniel en_GB Hello, my name is Daniel. I am a British-English voice.</option><option value=\"en_scotland Fiona\">Fiona en_scotland Hello, my name is Fiona. I am a Scottish-English voice.</option><option value=\"en_US Fred\">Fred en_US I sure like being inside this fancy computer</option><option value=\"en_AU Karen\">Karen en_AU Hello, my name is Karen. I am an Australian-English voice.</option><option value=\"en_IE Moira\">Moira en_IE Hello, my name is Moira. I am an Irish-English voice.</option><option value=\"en_US Samantha\">Samantha en_US Hello, my name is Samantha. I am an American-English voice.</option><option value=\"en_ZA Tessa\">Tessa en_ZA Hello, my name is Tessa. I am a South African-English voice.</option><option value=\"en_IN Veena\">Veena en_IN Hello, my name is Veena. I am an Indian-English voice.</option><option value=\"en_US Victoria\">Victoria en_US Isn't it nice to have a computer that will talk to you?</option><option value=\"ar_SA Maged\">Maged ar_SA مرحبًا اسمي Maged. أنا عربي من السعودية.</option><option value=\"cs_CZ Zuzana\">Zuzana cs_CZ Dobrý den, jmenuji se Zuzana. Jsem český hlas.</option><option value=\"da_DK Sara\">Sara da_DK Hej, jeg hedder Sara. Jeg er en dansk stemme.</option><option value=\"de_DE Anna\">Anna de_DE Hallo, ich heiße Anna und ich bin eine deutsche Stimme.</option><option value=\"el_GR Melina\">Melina el_GR Γεια σας, ονομάζομαι Melina. Είμαι μια ελληνική φωνή.</option><option value=\"es_AR Diego\">Diego es_AR Hola, me llamo Diego y soy una voz española.</option><option value=\"es_ES Jorge\">Jorge es_ES Hola, me llamo Jorge y soy una voz española.</option><option value=\"es_MX Juan\">Juan es_MX Hola, me llamo Juan y soy una voz mexicana.</option><option value=\"es_ES Monica\">Monica es_ES Hola, me llamo Monica y soy una voz española.</option><option value=\"es_MX Paulina\">Paulina es_MX Hola, me llamo Paulina y soy una voz mexicana.</option><option value=\"fi_FI Satu\">Satu fi_FI Hei, minun nimeni on Satu. Olen suomalainen ääni.</option><option value=\"fr_CA Amelie\">Amelie fr_CA Bonjour, je m’appelle Amelie. Je suis une voix canadienne.</option><option value=\"fr_FR Thomas\">Thomas fr_FR Bonjour, je m’appelle Thomas. Je suis une voix française.</option><option value=\"he_IL Carmit\">Carmit he_IL שלום. קוראים לי כרמית, ואני קול בשפה העברית.</option><option value=\"hi_IN Lekha\">Lekha hi_IN नमस्कार, मेरा नाम लेखा है. मैं हिन्दी में बोलने वाली आवाज़ हूँ.</option><option value=\"hu_HU Mariska\">Mariska hu_HU Üdvözlöm! Mariska vagyok. Én vagyok a magyar hang.</option><option value=\"id_ID Damayanti\">Damayanti id_ID Halo, nama saya Damayanti. Saya berbahasa Indonesia.</option><option value=\"it_IT Alice\">Alice it_IT Salve, mi chiamo Alice e sono una voce italiana.</option><option value=\"it_IT Luca\">Luca it_IT Salve, mi chiamo Luca e sono una voce italiana.</option><option value=\"ja_JP Kyoko\">Kyoko ja_JP こんにちは、私の名前はKyokoです。日本語の音声をお届けします。</option><option value=\"ko_KR Yuna\">Yuna ko_KR 안녕하세요. 제 이름은 Yuna입니다. 저는 한국어 음성입니다.</option><option value=\"nl_BE Ellen\">Ellen nl_BE Hallo, mijn naam is Ellen. Ik ben een Belgische stem.</option><option value=\"nl_NL Xander\">Xander nl_NL Hallo, mijn naam is Xander. Ik ben een Nederlandse stem.</option><option value=\"pl_PL Zosia\">Zosia pl_PL Witaj. Mam na imię Zosia, jestem głosem kobiecym dla języka polskiego.</option><option value=\"pt_PT Joana\">Joana pt_PT Olá, chamo-me Joana e dou voz ao português falado em Portugal.</option><option value=\"pt_BR Luciana\">Luciana pt_BR Olá, o meu nome é Luciana e a minha voz corresponde ao português que é falado no Brasil</option><option value=\"ro_RO Ioana\">Ioana ro_RO Bună, mă cheamă Ioana . Sunt o voce românească.</option><option value=\"ru_RU Milena\">Milena ru_RU Здравствуйте, меня зовут Milena. Я – русский голос системы.</option><option value=\"ru_RU Yuri\">Yuri ru_RU Здравствуйте, меня зовут Yuri. Я – русский голос системы.</option><option value=\"sk_SK Laura\">Laura sk_SK Ahoj. Volám sa Laura . Som hlas v slovenskom jazyku.</option><option value=\"sv_SE Alva\">Alva sv_SE Hej, jag heter Alva. Jag är en svensk röst.</option><option value=\"th_TH Kanya\">Kanya th_TH สวัสดีค่ะ ดิฉันชื่อKanya</option><option value=\"tr_TR Yelda\">Yelda tr_TR Merhaba, benim adım Yelda. Ben Türkçe bir sesim.</option><option value=\"zh_TW Mei-Jia\">Mei-Jia zh_TW 您好，我叫美佳。我說國語。</option><option value=\"zh_HK Sin-ji\">Sin-ji zh_HK 您好，我叫 Sin-ji。我講廣東話。</option><option value=\"zh_CN Ting-Ting\">Ting-Ting zh_CN 您好，我叫Ting-Ting。我讲中文普通话。</option>
<option value=\"  \">No words</option>
</select>";
$sayrs.="&nbsp;&nbsp;<select title=\"Text to audio via macOS say\" style=\"display:inline-block;width:36px;display:inline-block;\" onchange=\"if (this.value.length > 0) { document.getElementById('dosay').name='dosay'; if (document.getElementById('dosay').value.length == 0) { document.getElementById('dosay').value=this.value.split(' ')[eval(-1 + this.value.split(' ').length)]; } else { document.getElementById('dosay').value+=',' + this.value.split(' ')[eval(-1 + this.value.split(' ').length)]; }  } syr='&dosay=' + encodeURIComponent(document.getElementById('dosay').value); syl='';\" id=\"svoicecoder\" value=\"en_US Alex\"><option value=\" \">&#x1F4AC; Optionally select voice name to suit ...</option>
<option value=\"en_US Alex\">Alex en_US Most people recognize me by my voice.</option><option value=\"en_GB Daniel\">Daniel en_GB Hello, my name is Daniel. I am a British-English voice.</option><option value=\"en_scotland Fiona\">Fiona en_scotland Hello, my name is Fiona. I am a Scottish-English voice.</option><option value=\"en_US Fred\">Fred en_US I sure like being inside this fancy computer</option><option value=\"en_AU Karen\">Karen en_AU Hello, my name is Karen. I am an Australian-English voice.</option><option value=\"en_IE Moira\">Moira en_IE Hello, my name is Moira. I am an Irish-English voice.</option><option value=\"en_US Samantha\">Samantha en_US Hello, my name is Samantha. I am an American-English voice.</option><option value=\"en_ZA Tessa\">Tessa en_ZA Hello, my name is Tessa. I am a South African-English voice.</option><option value=\"en_IN Veena\">Veena en_IN Hello, my name is Veena. I am an Indian-English voice.</option><option value=\"en_US Victoria\">Victoria en_US Isn't it nice to have a computer that will talk to you?</option><option value=\"ar_SA Maged\">Maged ar_SA مرحبًا اسمي Maged. أنا عربي من السعودية.</option><option value=\"cs_CZ Zuzana\">Zuzana cs_CZ Dobrý den, jmenuji se Zuzana. Jsem český hlas.</option><option value=\"da_DK Sara\">Sara da_DK Hej, jeg hedder Sara. Jeg er en dansk stemme.</option><option value=\"de_DE Anna\">Anna de_DE Hallo, ich heiße Anna und ich bin eine deutsche Stimme.</option><option value=\"el_GR Melina\">Melina el_GR Γεια σας, ονομάζομαι Melina. Είμαι μια ελληνική φωνή.</option><option value=\"es_AR Diego\">Diego es_AR Hola, me llamo Diego y soy una voz española.</option><option value=\"es_ES Jorge\">Jorge es_ES Hola, me llamo Jorge y soy una voz española.</option><option value=\"es_MX Juan\">Juan es_MX Hola, me llamo Juan y soy una voz mexicana.</option><option value=\"es_ES Monica\">Monica es_ES Hola, me llamo Monica y soy una voz española.</option><option value=\"es_MX Paulina\">Paulina es_MX Hola, me llamo Paulina y soy una voz mexicana.</option><option value=\"fi_FI Satu\">Satu fi_FI Hei, minun nimeni on Satu. Olen suomalainen ääni.</option><option value=\"fr_CA Amelie\">Amelie fr_CA Bonjour, je m’appelle Amelie. Je suis une voix canadienne.</option><option value=\"fr_FR Thomas\">Thomas fr_FR Bonjour, je m’appelle Thomas. Je suis une voix française.</option><option value=\"he_IL Carmit\">Carmit he_IL שלום. קוראים לי כרמית, ואני קול בשפה העברית.</option><option value=\"hi_IN Lekha\">Lekha hi_IN नमस्कार, मेरा नाम लेखा है. मैं हिन्दी में बोलने वाली आवाज़ हूँ.</option><option value=\"hu_HU Mariska\">Mariska hu_HU Üdvözlöm! Mariska vagyok. Én vagyok a magyar hang.</option><option value=\"id_ID Damayanti\">Damayanti id_ID Halo, nama saya Damayanti. Saya berbahasa Indonesia.</option><option value=\"it_IT Alice\">Alice it_IT Salve, mi chiamo Alice e sono una voce italiana.</option><option value=\"it_IT Luca\">Luca it_IT Salve, mi chiamo Luca e sono una voce italiana.</option><option value=\"ja_JP Kyoko\">Kyoko ja_JP こんにちは、私の名前はKyokoです。日本語の音声をお届けします。</option><option value=\"ko_KR Yuna\">Yuna ko_KR 안녕하세요. 제 이름은 Yuna입니다. 저는 한국어 음성입니다.</option><option value=\"nl_BE Ellen\">Ellen nl_BE Hallo, mijn naam is Ellen. Ik ben een Belgische stem.</option><option value=\"nl_NL Xander\">Xander nl_NL Hallo, mijn naam is Xander. Ik ben een Nederlandse stem.</option><option value=\"pl_PL Zosia\">Zosia pl_PL Witaj. Mam na imię Zosia, jestem głosem kobiecym dla języka polskiego.</option><option value=\"pt_PT Joana\">Joana pt_PT Olá, chamo-me Joana e dou voz ao português falado em Portugal.</option><option value=\"pt_BR Luciana\">Luciana pt_BR Olá, o meu nome é Luciana e a minha voz corresponde ao português que é falado no Brasil</option><option value=\"ro_RO Ioana\">Ioana ro_RO Bună, mă cheamă Ioana . Sunt o voce românească.</option><option value=\"ru_RU Milena\">Milena ru_RU Здравствуйте, меня зовут Milena. Я – русский голос системы.</option><option value=\"ru_RU Yuri\">Yuri ru_RU Здравствуйте, меня зовут Yuri. Я – русский голос системы.</option><option value=\"sk_SK Laura\">Laura sk_SK Ahoj. Volám sa Laura . Som hlas v slovenskom jazyku.</option><option value=\"sv_SE Alva\">Alva sv_SE Hej, jag heter Alva. Jag är en svensk röst.</option><option value=\"th_TH Kanya\">Kanya th_TH สวัสดีค่ะ ดิฉันชื่อKanya</option><option value=\"tr_TR Yelda\">Yelda tr_TR Merhaba, benim adım Yelda. Ben Türkçe bir sesim.</option><option value=\"zh_TW Mei-Jia\">Mei-Jia zh_TW 您好，我叫美佳。我說國語。</option><option value=\"zh_HK Sin-ji\">Sin-ji zh_HK 您好，我叫 Sin-ji。我講廣東話。</option><option value=\"zh_CN Ting-Ting\">Ting-Ting zh_CN 您好，我叫Ting-Ting。我讲中文普通话。</option>
<option value=\"  \">No words</option>
</select>";

}

  $selohl="";
  $oursbtwo=trim($sb) . (trim($sbtwo) == '' ? '' : ' ' . trim($sbtwo));
  if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcow.txt')) {
    $oursbtwo.=' "Left Hand comment"';
    if (isset($_POST['lhdiag'])) {
      if (substr($_POST['lhdiag'],0,1) == 'C') { $leftfl='C';  }
      $oursbtwo=(strtolower(substr(str_replace('+',' ',urldecode($_POST['lhdiag'])),0,7)) != 'cowsay ' ? $sbtwo . ' "Left Hand comment"' : str_replace('owsay ','',str_replace('+',' ',substr(urldecode($_POST['lhdiag']),1))));
    }
    $selohl=justdoit(file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcowbig.txt'), 'leftcow.txtmaybe');
  } else if ($posted == "") {
    // 'cowsay ' . $sb . $sbtwo
    $oursbtwo.=' "Left Hand comment"';
    if (isset($_POST['lhdiag'])) {
      if (substr($_POST['lhdiag'],0,1) == 'C') { $leftfl='C';  }
      $oursbtwo=(strtolower(substr(str_replace('+',' ',urldecode($_POST['lhdiag'])),0,7)) != 'cowsay ' ? $sbtwo . ' "Left Hand comment"' : str_replace('owsay ','',str_replace('+',' ',substr(urldecode($_POST['lhdiag']),1))));
    }
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcow.txt', $leftfl . 'owsay ' . $oursbtwo);
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcowbig.txt', '');
    $selohl=justdoit(file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcowbig.txt'), 'leftcow.txt');
  } else {
    // 'cowsay ' . $sb . $sbtwo
    $oursbtwo.=' "Left Hand comment"';
    if (isset($_POST['lhdiag'])) {
      if (substr($_POST['lhdiag'],0,1) == 'C') { $leftfl='C';  }
      $oursbtwo=(strtolower(substr(str_replace('+',' ',urldecode($_POST['lhdiag'])),0,7)) != 'cowsay ' ? $sbtwo . ' "Left Hand comment"' : str_replace('owsay ','',str_replace('+',' ',substr(urldecode($_POST['lhdiag']),1))));
    }
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcow.txt', $leftfl . 'owsay ' . $oursbtwo);
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcowbig.txt', '');
    $selohl=justdoit(file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'leftcowbig.txt'), 'leftcow.txtmaybe');
  }
  $selohr="";
  $oursbtwo=trim($sb) . (trim($sbtwo) == '' ? '' : ' ' . trim($sbtwo));
  if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcow.txt')) {
    $oursbtwo=str_replace(' "Left Hand comment"','',$oursbtwo) . ' "Right Hand comment"';
    if (isset($_POST['rhdiag'])) {
      if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C';  $roff=-32;  }
      $oursbtwo=(strtolower(substr(str_replace('+',' ',urldecode($_POST['rhdiag'])),0,7)) != 'cowsay ' ? $sbtwo . ' "Right Hand comment"' : str_replace('owsay ','',str_replace('+',' ',substr(urldecode($_POST['rhdiag']),1))));
    }
    $selohr=justdoit(file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcowbig.txt'), 'rightcow.txtmaybe');
  } else if ($posted == "") {
    // 'cowsay ' . $sb . $sbtwo
    $oursbtwo=str_replace(' "Left Hand comment"','',$oursbtwo) . ' "Right Hand comment"';
    if (isset($_POST['rhdiag'])) {
      if (substr($_POST['rhdiag'],0,1) == 'C') { $rightfl='C';  $roff=-32;  }
      $oursbtwo=(strtolower(substr(str_replace('+',' ',urldecode($_POST['rhdiag'])),0,7)) != 'cowsay ' ? $sbtwo . ' "Right Hand comment"' : str_replace('owsay ','',str_replace('+',' ',substr(urldecode($_POST['rhdiag']),1))));
    }
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcow.txt', $rightfl . 'owsay ' . $oursbtwo);
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcowbig.txt', '');
    $selohr=justdoit(file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcowbig.txt'), 'rightcow.txt');
  } else {
    // 'cowsay ' . $sb . $sbtwo
    $oursbtwo=str_replace(' "Left Hand comment"','',$oursbtwo) . ' "Right Hand comment"';
    if (isset($_POST['rhdiag'])) {
      $oursbtwo=(strtolower(substr(str_replace('+',' ',urldecode($_POST['rhdiag'])),0,7)) != 'cowsay ' ? $sbtwo . ' "Right Hand comment"' : str_replace('owsay ','',str_replace('+',' ',substr(urldecode($_POST['rhdiag']),1))));
    }
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcow.txt', $rightfl . 'owsay ' . $oursbtwo);
    file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcowbig.txt', '');
    $selohr=justdoit(file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'rightcowbig.txt'), 'rightcow.txtmaybe');
  }

  function sayit($scd) {
   if (strpos($scd, 'say ') !== false && sizeof(explode('say ', str_replace("exec('say ","",$scd) )) == 1) {
    exec("say " . explode("');", explode('say ',$scd)[1])[0] . "");
   } else {
    exec("say " . explode("');", explode("exec('say ",$scd)[1])[0] . "");
   }
  }

function justdoit($bigsofar, $maybeyes) {
    global $sb, $sbtwo, $bigsofarl, $bigsofarr, $smallsofarl, $smallsofarr, $oursbtwo, $ipaddr, $leftfl, $rightfl;
    $sofar=$bigsofar;
    if (file_exists(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . str_replace('maybe','',$maybeyes))) {
      $sofar=file_get_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . str_replace('maybe','',$maybeyes));
    }
    $rma = $_SERVER['REMOTE_ADDR'];
    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    // you can add different browsers with the same way ..
    if(preg_match('/(chromium)[ \/]([\w.]+)/', $ua))
            $rma = '000000'.$rma;
    elseif(preg_match('/(chrome)[ \/]([\w.]+)/', $ua))
            $rma = '00000'.$rma;
    elseif(preg_match('/(safari)[ \/]([\w.]+)/', $ua))
            $rma = '0000'.$rma;
    elseif(preg_match('/(opera)[ \/]([\w.]+)/', $ua))
            $rma = '000'.$rma;
    elseif(preg_match('/(msie)[ \/]([\w.]+)/', $ua))
            $rma = '00'.$rma;
    elseif(preg_match('/(mozilla)[ \/]([\w.]+)/', $ua))
            $rma = '0'.$rma;
    $ipaddr=str_replace(":", "_", $rma);
    if ($bigsofar == '') {
       $sofar=$oursbtwo; //trim($sb) . ' ' . trim($sbtwo);
       file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . str_replace('maybe','',$maybeyes), '' . $sofar);
       if (strpos($maybeyes, "left") !== false) {
        $bigsofarl="<select title='History of selections you can access ...' id=mysell style='width:36px;display:inline-block;' onchange=\"if (this.value.length > 0) { document.getElementById('lhdiag').value=this.value; }\">\n<option value=''>&#x1F3FA; History?</option>\n<option value='cowsay " . $sofar . "' data-ip='" . $ipaddr . "'>cowsay " . $sofar . "</option>\n</select>";
        file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . str_replace('.txt','big.txt',str_replace('maybe','',$maybeyes)), $bigsofarl); 
       } else if (strpos($maybeyes, "right") !== false) {
        $bigsofarr="<select title='History of selections you can access ...' id=myselr style='width:36px;display:inline-block;' onchange=\"if (this.value.length > 0) { document.getElementById('rhdiag').value=this.value; }\">\n<option value=''>&#x1F3FA; History?</option>\n<option value='cowsay " . $sofar . "' data-ip='" . $ipaddr . "'>cowsay " . $sofar . "</option>\n</select>";
        file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . str_replace('.txt','big.txt',str_replace('maybe','',$maybeyes)), $bigsofarr); 
       }
    } else if (strpos($bigsofar, 'owsay ' . $oursbtwo) === false) {
       $sofar.="\n" . $oursbtwo; //trim($sb) . ' ' . trim($sbtwo);
       file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . str_replace('maybe','',$maybeyes), '' . $sofar);
       if (strpos($maybeyes, "left") !== false && $leftfl == 'C') {
       $bigsofar=explode("\n</select>",$bigsofar)[0] . "\n" . "<option value='Cowsay " . $oursbtwo . "' data-ip='" . $ipaddr . "'>Cowsay " . $oursbtwo . "</option>\n</select>";
       } else if (strpos($maybeyes, "left") !== false && $leftfl == 'c') {
       $bigsofar=explode("\n</select>",$bigsofar)[0] . "\n" . "<option value='cowsay " . $oursbtwo . "' data-ip='" . $ipaddr . "'>cowsay " . $oursbtwo . "</option>\n</select>";
       } else if (strpos($maybeyes, "right") !== false && $rightfl == 'C') {
       $bigsofar=explode("\n</select>",$bigsofar)[0] . "\n" . "<option value='Cowsay " . $oursbtwo . "' data-ip='" . $ipaddr . "'>Cowsay " . $oursbtwo . "</option>\n</select>";
       } else if (strpos($maybeyes, "right") !== false && $rightfl == 'c') {
       $bigsofar=explode("\n</select>",$bigsofar)[0] . "\n" . "<option value='cowsay " . $oursbtwo . "' data-ip='" . $ipaddr . "'>cowsay " . $oursbtwo . "</option>\n</select>";
       }
       file_put_contents(dirname(__FILE__) . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . str_replace('.txt','big.txt',str_replace('maybe','',$maybeyes)), $bigsofar); 
       if (strpos($maybeyes, "left") !== false) {
        $bigsofarl=$bigsofar;
        $recs=explode("\n", $bigsofarl);
        if (sizeof($recs) > 3) {
          $smallsofarl=$recs[0] . "\n" . $recs[1] . "\n";
          for ($ii=2; $ii<sizeof($recs); $ii++) {
            if ($recs[$ii] == '</select>') {
              $smallsofarl.='</select>';
            } else if (strpos(strtolower($recs[$ii]), '"left hand comment"') !== false) {
              $smallsofarl.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], " data-ip='" . $ipaddr . "'") !== false) {
              $smallsofarl.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], '"') !== false) {
              $lhcis=explode('"', $recs[$ii])[-2 + sizeof($recs)];
              if (trim($lhcis) != '') {
               if (sizeof(explode($lhcis, explode('>',$recs[$ii])[0])) == 3) {
                if (strpos($smallsofarl, explode('>',explode(' data-ip=', str_replace($lhcis, '?', $recs[$ii]))[0])[0]) === false) {
                  $smallsofarl.=str_replace($lhcis, '?', $recs[$ii]) . "\n";
                }
               }
              }
            }
          }  
        }
       } else if (strpos($maybeyes, "right") !== false) {
        $bigsofarr=$bigsofar;
        $recs=explode("\n", $bigsofarrr);
        if (sizeof($recs) > 3) {
          $smallsofarr=$recs[0] . "\n" . $recs[1] . "\n";
          for ($ii=2; $ii<sizeof($recs); $ii++) {
            if ($recs[$ii] == '</select>') {
              $smallsofarr.='</select>';
            } else if (strpos(strtolower($recs[$ii]), '"right hand comment"') !== false) {
              $smallsofarr.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], " data-ip='" . $ipaddr . "'") !== false) {
              $smallsofarr.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], '"') !== false) {
              $lhcis=explode('"', $recs[$ii])[-2 + sizeof($recs)];
              if (trim($lhcis) != '') {
               if (sizeof(explode($lhcis, explode('>',$recs[$ii])[0])) == 3) {
                if (strpos($smallsofarr, explode('>',explode(' data-ip=', str_replace($lhcis, '?', $recs[$ii]))[0])[0]) === false) {
                  $smallsofarr.=str_replace($lhcis, '?', $recs[$ii]) . "\n";
                }
               }
              }
            }
          }
         }  
       }
    } else {
       if (strpos($maybeyes, "left") !== false) {
        $bigsofarl=$bigsofar;
        $recs=explode("\n", $bigsofarl);
        if (sizeof($recs) > 3) {
          $smallsofarl=$recs[0] . "\n" . $recs[1] . "\n";
          for ($ii=2; $ii<sizeof($recs); $ii++) {
            if ($recs[$ii] == '</select>') {
              $smallsofarl.='</select>';
            } else if (strpos(strtolower($recs[$ii]), '"left hand comment"') !== false) {
              $smallsofarl.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], " data-ip='" . $ipaddr . "'") !== false) {
              $smallsofarl.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], '"') !== false) {
              $lhcis=explode('"', $recs[$ii])[-2 + sizeof($recs)];
              if (trim($lhcis) != '') {
               if (sizeof(explode($lhcis, explode('>',$recs[$ii])[0])) == 3) {
                if (strpos($smallsofarl, explode('>',explode(' data-ip=', str_replace($lhcis, '?', $recs[$ii]))[0])[0]) === false) {
                  $smallsofarl.=str_replace($lhcis, '?', $recs[$ii]) . "\n";
                }
               }
              }
            }
          }  
        }
       } else if (strpos($maybeyes, "right") !== false) {
        $bigsofarr=$bigsofar;
        $recs=explode("\n", $bigsofarrr);
        if (sizeof($recs) > 3) {
          $smallsofarr=$recs[0] . "\n" . $recs[1] . "\n";
          for ($ii=2; $ii<sizeof($recs); $ii++) {
            if ($recs[$ii] == '</select>') {
              $smallsofarr.='</select>';
            } else if (strpos(strtolower($recs[$ii]), '"right hand comment"') !== false) {
              $smallsofarr.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], " data-ip='" . $ipaddr . "'") !== false) {
              $smallsofarr.=$recs[$ii] . "\n";
            } else if (strpos($recs[$ii], '"') !== false) {
              $lhcis=explode('"', $recs[$ii])[-2 + sizeof($recs)];
              if (trim($lhcis) != '') {
               if (sizeof(explode($lhcis, explode('>',$recs[$ii])[0])) == 3) {
                if (strpos($smallsofarr, explode('>',explode(' data-ip=', str_replace($lhcis, '?', $recs[$ii]))[0])[0]) === false) {
                  $smallsofarr.=str_replace($lhcis, '?', $recs[$ii]) . "\n";
                }
               }
              }
            }
          }
         }  
       }
    }
    
    return $sofar;
}

function otherwayaround($instuff) {
  global $revstr, $lts, $gts, $revstrr;
  $outstuff=$instuff;
  if (strpos($instuff,$lts) !== false && strpos($instuff,$gts) !== false) {
    if ($revstr != "") {
    $revstrr=explode($gts, explode($lts, $instuff)[1])[0];
    if (trim($revstrr) != "") {
      $outstuff=str_replace($lts . $revstrr . $gts, $lts . strrev($revstrr) . $gts, $instuff);
    }
    } else {
    $revstr=explode($gts, explode($lts, $instuff)[1])[0];
    if (trim($revstr) != "") {
      $outstuff=str_replace($lts . $revstr . $gts, $lts . strrev($revstr) . $gts, $instuff);
    }
    }
  }
  return $instuff;
}

$lhthingo=(isset($_POST['lhdiag']) ? shell_exec( (strtolower(substr(str_replace('+',' ',urldecode($_POST['lhdiag'])),0,7)) != 'cowsay ' ? '' : 'c' . substr(str_replace("`","'",explode(";",explode("\n",str_replace('+',' ',urldecode($_POST['lhdiag'])))[0])[0]),1) )   ) : (isset($_GET['lhdiag']) ? str_replace('+',' ',urldecode($_GET['lhdiag'])) : "
 ____________________
" . $lts . "  Left Hand comment " . $gts . "
 --------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
"));


$lhthingo=otherwayaround($lhthingo);


$rhthingo=(isset($_POST['rhdiag']) ? shell_exec( (strtolower(substr(str_replace('+',' ',urldecode($_POST['rhdiag'])),0,7)) != 'cowsay ' ? '' : 'c' . substr(str_replace("`","'",explode(";",explode("\n",str_replace('+',' ',urldecode($_POST['rhdiag'])))[0])[0]),1) )  ) : (isset($_GET['rhdiag']) ? str_replace('+',' ',urldecode($_GET['rhdiag'])) : "
 _____________________
" . $lts . "  Right Hand comment " . $gts . "
 ---------------------
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||
"));

if ($rightfl == 'C') {
$rhthingo=otherwayaround($rhthingo);
}

//if ($saycmd != "") { sayit($saycmd); }

echo "<html>
<head>
<title>Cow Says Cartoon - RJM Programming - November, 2026</title>
<meta charset='UTF-8'>
<style>

input {  color: blue;  }
input[type=text] {  background-color: #ffecf2;   }

input[type=button] {  border-radius: 100px; padding: 15 15 15 15;  }
input[type=submit] {  border-radius: 100px; padding: 15 15 15 15;  }


textarea { background-color: #f9f9f9;  font-weight: bold; }

/* Thanks to https://www.google.com/search?q=hide+vertical+scroller&sca_esv=28ba29a10f60894c&rlz=1C5OZZY_en&sxsrf=AKL5yDhDhuXcCcipvfxuwIlsw7XRFis8cA%3A1793564144145&ei=8J3nauS6CMP91e8PqN_9oAw&biw=1427&bih=698&uact=5&oq=hide+vertical+scroller&gs_lp=Egxnd3Mtd2l6LXNlcnAiFmhpZGUgdmVydGljYWwgc2Nyb2xsZXIyBxAAGIAEGA0yBhAAGBYYHjIGEAAYFhgeMgYQABgWGB4yBhAAGBYYHjIIEAAYBRgeGA0yCBAAGAUYHhgNMggQABgFGB4YDTIIEAAYBRgeGA0yCBAAGAUYHhgNSMxBUJYFWLs3cAF4AZABAJgB5AGgAf4SqgEFMC44LjS4AQPIAQD4AQGYAgigAtgMwgIKEAAYRxjWBBiwA8ICBRAAGO8FwgIIEAAYiQUYogTCAggQABgIGB4YDcICCxAAGIAEGIoFGIYDmAMA4gMFEgExIECIBgGQBgiSBwUxLjAuN6AH7UeyBwMyLTe4B70MwgcDMy04yAdJgAgB&sclient=gws-wiz-serp */
/* Chrome, Safari, and Opera */
#lhxta::-webkit-scrollbar {
  display: none;
}

/* Firefox */
#lhxta {
  scrollbar-width: none;
}

/* Internet Explorer and Edge */
#lhxta {
  -ms-overflow-style: none;
}
/* Chrome, Safari, and Opera */
#rhxta::-webkit-scrollbar {
  display: none;
}

/* Firefox */
#rhxta {
  scrollbar-width: none;
}

/* Internet Explorer and Edge */
#rhxta {
  -ms-overflow-style: none;
}
</style>
<scr" . "ipt type=text/javascript>
  var initl='', changedl=0, extral='', gtl='', syl=''; 
  var initr='', changedr=0, extrar='', gtr='', syr=''; 

  function emailit() {
     document.getElementById('es').href='mailto:?subject=Cow%20Says%20Cartoon&body=' + encodeURIComponent(document.URL.split('?')[0].split('#')[0] + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extral + extrar + gtr + gtl + syl + syr);
     document.getElementById('es').click();
     document.getElementById('mysub').click();
  }
  
  function smsit() {
     document.getElementById('es').href='sms:&body=' + encodeURIComponent(document.URL.split('?')[0].split('#')[0] + '?lhdiag=' + encodeURIComponent(document.getElementById('lhdiag').value) + '&rhdiag=' + encodeURIComponent(document.getElementById('rhdiag').value) + '&lfontc=' + encodeURIComponent(document.getElementById('lfontc').value) + '&rfontc=' + encodeURIComponent(document.getElementById('rfontc').value) + '&lbc=' + encodeURIComponent(document.getElementById('lbc').value) + '&rbc=' + encodeURIComponent(document.getElementById('rbc').value) + extral + extrar + gtr + gtl + syl + syr);
     document.getElementById('es').click();
     document.getElementById('mysub').click();
  }
  
  function checkcp(ocp) {
    if (ocp.id == 'lbc') {
      if (initl != ocp.value) {
        changedl++;
        if (changedl == 1) {
          document.getElementById('lmcss').value='text-shadow:-1px 1px 1px ' + ocp.value + ';';
        } else if (changedl >= 2) {
          document.getElementById('lmcss').name='lmcss';
          document.getElementById('lmcss').style.display='inline-block';
          document.getElementById('lmcss').title=document.getElementById('lmcss').placeholder;
          document.getElementById('lmcss').ontouchmove=function(event){  alert(event.target.title); };
          extrait(document.getElementById('lmcss'));
        }
        initl=ocp.value;
      }
    } else if (ocp.id == 'rbc') {
      if (initr != ocp.value) {
        changedr++;
        if (changedr == 1) {
          document.getElementById('rmcss').value='text-shadow:-1px 1px 1px ' + ocp.value + ';';
        } else if (changedr >= 2) {
          document.getElementById('rmcss').name='rmcss';
          document.getElementById('rmcss').style.display='inline-block';
          document.getElementById('rmcss').title=document.getElementById('rmcss').placeholder;
          document.getElementById('rmcss').ontouchmove=function(event){  alert(event.target.title); };
          extrait(document.getElementById('rmcss'));
        }
        initr=ocp.value;
      }
    }
  }
  
  function extrait(ocp) {
    if (ocp.id == 'lmcss') {
      if (ocp.value.trim() == '') {
        extral=''; 
      } else if (ocp.id == ('' + ocp.name)) {
        extral='&lmcss=' + encodeURIComponent(ocp.value);
      }
    } else if (ocp.id == 'rmcss') {
      if (ocp.value.trim() == '') {
        extrar=''; 
      } else if (ocp.id == ('' + ocp.name)) {
        extrar='&rmcss=' + encodeURIComponent(ocp.value);
      }
    }
  }
  
  function initit() {
     if (('' + document.getElementById('lmcss').title).indexOf('text-shadow:') != -1) {
       document.getElementById('lmcss').value=document.getElementById('lmcss').title;
       document.getElementById('lmcss').style.display='inline-block';
       document.getElementById('lmcss').name='lmcss';
       document.getElementById('lmcss').title=document.getElementById('lmcss').placeholder;
     }
     if (('' + document.getElementById('rmcss').title).indexOf('text-shadow:') != -1) {
       document.getElementById('rmcss').value=document.getElementById('rmcss').title;
       document.getElementById('rmcss').name='rmcss';
       document.getElementById('rmcss').style.display='inline-block';
       document.getElementById('rmcss').title=document.getElementById('rmcss').placeholder;
     }
     initl=document.getElementById('lbc').value;
     initr=document.getElementById('rbc').value;
     if (window.self != window.parent) {
        if (document.getElementById('lhdiag').value.indexOf('\"stegosaurus\"') != -1 && '" . $posted . "' == '') {
          document.getElementById('lhdiag').value=document.getElementById('lhdiag').value.replace('stegosaurus','tux');
        }
        if (document.getElementById('rhdiag').value.indexOf('\"stegosaurus\"') != -1 && '" . $posted . "' == '') {
          document.getElementById('rhdiag').value=document.getElementById('rhdiag').value.replace('stegosaurus','tux');
        }
     }
     document.getElementById('languagel').value='" . $langl . "';  
     document.getElementById('languager').value='" . $langr . "';  
     
     if (document.getElementById('languagel').value != '') {
         window.open('//translate.google.com/#view=home&op=translate&sl=auto&tl=' + document.getElementById('languagel').value + '&text=' + encodeURIComponent( document.getElementById('lhdiag').value.split('\"')[eval(-2 + document.getElementById('lhdiag').value.split('\"').length)]  ), '_blank','left=0,top=0,width=600,height=600');
     }
     
     if (document.getElementById('languager').value != '') {
         window.open('//translate.google.com/#view=home&op=translate&sl=auto&tl=' + document.getElementById('languager').value + '&text=' + encodeURIComponent( document.getElementById('rhdiag').value.split('\"')[eval(-2 + document.getElementById('rhdiag').value.split('\"').length)]  ), '_blank','left=600,top=0,width=600,height=600');
     }
     
     if ('' != '" . $visl . "') {
        var lvis='" . trim(str_replace('-v','',$visl)) . "';
        if (document.getElementById('svoicecodel').innerHTML.indexOf(' ' + lvis + String.fromCharCode(34)) != -1) {
          document.getElementById('svoicecodel').value=document.getElementById('svoicecodel').innerHTML.split(' ' + lvis + String.fromCharCode(34))[0].split(String.fromCharCode(34))[eval(-1 + document.getElementById('svoicecodel').innerHTML.split(' ' + lvis + String.fromCharCode(34))[0].split(String.fromCharCode(34)).length)] + ' ' + lvis;
        }
     }
     
     if ('' != '" . $visr . "') {
        var rvis='" . trim(str_replace('-v','',$visr)) . "';
        if (document.getElementById('svoicecoder').innerHTML.indexOf(' ' + rvis + String.fromCharCode(34)) != -1) {
          document.getElementById('svoicecoder').value=document.getElementById('svoicecoder').innerHTML.split(' ' + rvis + String.fromCharCode(34))[0].split(String.fromCharCode(34))[eval(-1 + document.getElementById('svoicecoder').innerHTML.split(' ' + rvis + String.fromCharCode(34))[0].split(String.fromCharCode(34)).length)] + ' ' + rvis;
        }
     }
     
  }
  
  function nonos(texto) {
     var within='', done=false;
     var textv=texto.value;
     if (textv.indexOf(\" '\") != -1 && textv.indexOf(' \"') == -1) {
        while (!done && textv.indexOf(\" '\") != -1 && textv.indexOf(' \"') == -1) {
        within=textv.split(\" '\")[1].split(\"'\")[0];
        if (within.indexOf('\"') != -1) {
          textv=textv.replace(\" '\" + within + \"'\", '#@!\"' + within.replace(/\\\"/g, '`') + '\"');
          texto.value=textv;
          if (textv.indexOf(\" '\") != -1 && textv.indexOf(' \"') == -1) {
            done=false;
          } else {
            done=true;
          }
        } else {
          textv=textv.replace(\" '\" + within + \"'\", '#@!\"' + within + '\"');
          texto.value=textv;
          if (textv.indexOf(\" '\") != -1 && textv.indexOf(' \"') == -1) {
            done=false;
          } else {
            done=true;
          }
        } 
        }
     } else if (textv.indexOf(\" '\") == -1 && textv.indexOf(' \"') != -1) {
        while (!done && textv.indexOf(\" '\") == -1 && textv.indexOf(' \"') != -1) {
        within=textv.split(' \"')[1].split('\"')[0];
        if (within.indexOf(\"'\") != -1) {
          textv=textv.replace(' \"' + within + '\"', '#@!\"' + within.replace(/\\'/g, '`') + '\"');
          texto.value=textv;
          if (textv.indexOf(\" '\") == -1 && textv.indexOf(' \"') != -1) {
            done=false;
          } else {
            done=true;
          }
        } else {
          textv=textv.replace(' \"' + within + '\"', '#@!\"' + within + '\"');
          texto.value=textv;
          if (textv.indexOf(\" '\") == -1 && textv.indexOf(' \"') != -1) {
            done=false;
          } else {
            done=true;
          }
        }
        }
     } else if (textv.indexOf(\" '\") != -1) {
        while (!done && textv.indexOf(\" '\") != -1) {
        within=textv.split(\" '\")[1].split(\"'\")[0];
        if (within.indexOf('\"') != -1) {
          textv=textv.replace(\" '\" + within + \"'\", '#@!\"' + within.replace(/\\\"/g, '`') + '\"');
          texto.value=textv;
          if (textv.indexOf(\" '\") != -1) {
            done=false;
          } else {
            done=true;
          }
        } else {
          textv=textv.replace(\" '\" + within + \"'\", '#@!\"' + within + '\"');
          texto.value=textv;
          if (textv.indexOf(\" '\") != -1) {
            done=false;
          } else {
            done=true;
          }
        } 
        }
     }
     if (textv.indexOf(';') != -1) { textv=textv.replace(/\;/g,':'); done=true;  }
     if (textv.indexOf('COWSAY ') == 0) { textv=textv.replace('COWSAY ','Cowsay '); done=true;  }
     if (textv.indexOf('cOWSAY ') == 0) { textv=textv.replace('cOWSAY ','cowsay '); done=true;  }
     if (done) { texto.value=textv.replace(/\#\@\!/g, ' ');  }
  }
  
  
  function changelang(osel) {
     if (osel.value.length > 0) {
       document.getElementById('dogt').name='dogt';
       if (osel.id == 'languagel') {
         if (osel.value == '') {
           document.getElementById('dogt').value=osel.value;
         } else {
           document.getElementById('dogt').value=osel.value + ',' + document.getElementById('dogt').value;
         }
         gtl='&dogt=' + encodeURIComponent(document.getElementById('dogt').value);
         gtr='';
       } else if (osel.id == 'languager') {
         if (osel.value == '') {
           document.getElementById('dogt').value=osel.value;
         } else {
           document.getElementById('dogt').value+=',' + osel.value;
         }
         gtr='&dogt=' + encodeURIComponent(document.getElementById('dogt').value);
         gtl='';
       }
     } else if (osel.id == 'languager') {
       gtr='';
     } else if (osel.id == 'languagel') {
       gtl='';
     }
  }

</scr" . "ipt>
</head>
<body onload=initit(); style='transform:scale(" . $bs . ");transform-origin: 0 0;'>
<table id=toptable style=width:" . $wper . "%;height:" . $hval . "px;>
<tr id=toprow><td id=tdleft style=width:50%;height:" . $hval . "px;vertical-align:top;>
<textarea id=lhxta style='width:100%;height:32px;text-align:" . ($leftfl == 'C' ? 'left' : 'right') . ";border-bottom:1px solid transparent;color:" . $lfontc . ";background-color:" . $lbc . ";" . $lmcss . "'>" . explode($lts . $revstr . $gts,$lhthingo)[0] . $lts . $revstr . $gts . "</textarea>
<textarea id=lhta style='width:100%;height:" . (-32 + $hval) . "px;transform:" . ($leftfl == 'C' ? 'scaleX(1)' : 'scaleX(-1)') . ";border-top:1px solid transparent;color:" . $lfontc . ";background-color:" . $lbc . ";" . $lmcss . "'>" . explode($lts . $revstr . $gts,$lhthingo)[1] . "</textarea></td>
<td id=tdright style='width:50%;height:" . $hval . "px;vertical-align:top;'>
<textarea id=rhxta style='width:100%;height:32px;text-align:" . ($rightfl == 'C' ? 'right' : 'left;display:none') . ";border-bottom:1px solid transparent;color:" . $rfontc . ";background-color:" . $rbc . ";" . $rmcss . "'>" . ($revstrr == "" ? "" : explode($lts . $revstrr . $gts,$rhthingo)[0] . $lts . $revstrr . $gts) . "</textarea>
<textarea id=rhta style='width:100%;" . ($rightfl == 'C' ? 'border-top:1px solid transparent;transform:scaleX(-1);' : '') . "height:" . ($roff + $hval) . "px;color:" . $rfontc . ";background-color:" . $rbc . ";" . $rmcss . "'>" . ($revstrr == "" ? $rhthingo : explode($lts . $revstrr . $gts,$rhthingo)[1]) . "</textarea></td>
</tr></table><br><h1>Cow Says Cartoon</h1><h3>RJM Programming - November, 2026</h3>
<form method=POST action=./cow_says_insertion.php>
<input onblur='nonos(this);' type=text ontouchmove='event.preventDefault(); alert(this.title);' title='Left hand cartoon cell ... " . $clistsw . " \"characters\" can be among " . $clist . " ... to right are font colour and background colour pickers (and with background one double valuing can allow the first value selection be a text shadow colour applied onto Font Colour) ... capital C in cowsay can left justify' style=width:82%; id=lhdiag name=lhdiag placeholder=\"Eg. " . $cb . " \" value='" . (strtolower(substr(str_replace('+',' ',urldecode($_POST['lhdiag'])),0,7)) != 'cowsay ' ? 'cowsay ' . $sb . ' ' . $sbtwo . ' "Left Hand comment"' : $leftfl . substr(str_replace('+',' ',urldecode($_POST['lhdiag'])),1)) . "'></input>&nbsp;<input id=lfontc type=color title='Font Colour' name=lfontc value='" . $lfontc . "'></input>&nbsp;<input onchange=checkcp(this); onblur=checkcp(this); id=lbc type=color title='Background Colour' name=lbc value='" . $lbc . "'></input>" . $sayls . "&nbsp;&nbsp;" . ($smallsofarl == '' ? $bigsofarl : $smallsofarl) . "<br><input " . $lmcssinit . " onblur=extrait(this); placeholder='Additional CSS' type=text id=lmcss value='' style=display:none;width:70%;></input><br>
<input onblur='nonos(this);' type=text ontouchmove='event.preventDefault(); alert(this.title);' title='Right hand cartoon cell ... " . $clistsw . " \"characters\" can be among " . $clist . " ... to right are font colour and background colour pickers (and with background one double valuing can allow the first value selection be a text shadow colour applied onto Font Colour) ... capital C in cowsay can right justify' style=width:82%; id=rhdiag name=rhdiag placeholder=\"Eg. " . $cb . " \" value='" . (strtolower(substr(str_replace('+',' ',urldecode($_POST['rhdiag'])),0,7)) != 'cowsay ' ? 'cowsay ' . $sb . ' ' . $sbtwo . ' "Right Hand comment"' : $rightfl . substr(str_replace('+',' ',urldecode($_POST['rhdiag'])),1)) . "'></input>&nbsp;<input id=rfontc type=color title='Font Colour' name=rfontc value='" . $rfontc . "'></input>&nbsp;<input onchange=checkcp(this); onblur=checkcp(this); id=rbc type=color title='Background Colour' name=rbc value='" . $rbc . "'></input>" . $sayrs . "&nbsp;&nbsp;" . ($smallsofarr == '' ? $bigsofarr : $smallsofarr) . "<br><input " . $rmcssinit . " onblur=extrait(this); placeholder='Additional CSS' type=text id=rmcss value='' style=display:none;width:70%;></input><br>
<input type=hidden id=dogt value=''></input><input type=hidden id=dosay value=''></input>
<input id=mysub style=background-color:yellow; type=submit value='Draw above ...'></input>&nbsp;&nbsp;<input onclick='emailit();' style=background-color:orange; type=button value='Email as well ...'></input>&nbsp;&nbsp;<input style=background-color:lightgreen; onclick='smsit();' type=button value='SMS as well ...'></input>
</form>
<a id=es style=display:none; target=_top href='#'>Email or SMS</a>
</body></html>";


if ($saycmd != "") { sayit($saycmd); }


?>
