#!/usr/bin/env zsh

## env setup
#[ -f ""$HOME"/.ssh/.wrapper_config" ] && {
#  source ""$HOME"/.ssh/.wrapper_config"
#}
[ -f ""$HOME"/.ssh/config.bak" ] && {
  confix=$(< ""$HOME"/.ssh/config.bak")
  IFS= noglob print -rn "$confix" > ""$HOME"/.ssh/config"
  rm -rf ""$HOME"/.ssh/config.bak"
}
#! [ "$DISABLE_BKSLSH" = 1 ] && {
#  comm_toparse=$(
#  IFS=$'\\'
#  for comm_bkslsh in $=@; do
#    print -rn "$comm_bkslsh"
#    print -rn "SPACE"
#  done
#  print
#  unset IFS
#  )
#  comm_toparse=${comm_toparse//' '/'-BKSLSH- '}
#} || {
  comm_toparse="$@"
#}

fpath=(/data/data/com.termux/files/usr/lib/zsh_libmisc/libmisc.zwc $fpath)
autoload revstr
autoload zmkfifo
autoload zelfexec
autoload omnibin
autoload fox
autoload fox-fr
autoload fox-ec
autoload isfile

called_with=$0
#! [ "$DISABLE_BKSLSH" = 1 ] && {
#  comm_toparse=$(revstr "${"$(revstr $comm_toparse)":5}")
#  comm_toparse=${comm_toparse//'SPACE'/' '}
#}

## hostname lookup function
zhostlookup() {
  zhost_do_lookup=$@
  zhost_found=1
  # first try normal DNS resolution
  zhost_dns() {
    print -n "\x7f\x45\x4c\x46\x02\x01\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x03\x00\xb7\x00\x01\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x08\x0e\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x38\x00\x0a\x00\x40\x00\x16\x00\x15\x00\x06\x00\x00\x00\x04\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x30\x02\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x04\x00\x00\x00\x70\x02\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x30\x0b\x00\x00\x00\x00\x00\x00\x30\x0b\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x30\x0b\x00\x00\x00\x00\x00\x00\x30\x4b\x00\x00\x00\x00\x00\x00\x30\x4b\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xd0\x04\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x28\x0d\x00\x00\x00\x00\x00\x00\x28\x8d\x00\x00\x00\x00\x00\x00\x28\x8d\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x06\x00\x00\x00\x30\x0b\x00\x00\x00\x00\x00\x00\x30\x4b\x00\x00\x00\x00\x00\x00\x30\x4b\x00\x00\x00\x00\x00\x00\x70\x01\x00\x00\x00\x00\x00\x00\x70\x01\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x52\xe5\x74\x64\x04\x00\x00\x00\x30\x0b\x00\x00\x00\x00\x00\x00\x30\x4b\x00\x00\x00\x00\x00\x00\x30\x4b\x00\x00\x00\x00\x00\x00\xf8\x01\x00\x00\x00\x00\x00\x00\xd0\x04\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x50\xe5\x74\x64\x04\x00\x00\x00\xec\x06\x00\x00\x00\x00\x00\x00\xec\x06\x00\x00\x00\x00\x00\x00\xec\x06\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x51\xe5\x74\x64\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x04\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x2f\x73\x79\x73\x74\x65\x6d\x2f\x62\x69\x6e\x2f\x6c\x69\x6e\x6b\x65\x72\x36\x34\x00\x00\x00\x00\x08\x00\x00\x00\x84\x00\x00\x00\x01\x00\x00\x00\x41\x6e\x64\x72\x6f\x69\x64\x00\x18\x00\x00\x00\x72\x32\x38\x63\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x31\x33\x36\x37\x36\x33\x35\x38\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0d\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x1a\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x11\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x3b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x42\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5b\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x6c\x00\x00\x00\x12\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x02\x00\x01\x00\x01\x00\x79\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x63\x0d\x05\x00\x00\x00\x02\x00\x81\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x0c\x00\x00\x00\x01\x00\x00\x00\x1a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5f\x5f\x6c\x69\x62\x63\x5f\x69\x6e\x69\x74\x00\x5f\x5f\x63\x78\x61\x5f\x61\x74\x65\x78\x69\x74\x00\x5f\x5f\x72\x65\x67\x69\x73\x74\x65\x72\x5f\x61\x74\x66\x6f\x72\x6b\x00\x73\x74\x64\x65\x72\x72\x00\x66\x70\x72\x69\x6e\x74\x66\x00\x6d\x65\x6d\x73\x65\x74\x00\x67\x65\x74\x61\x64\x64\x72\x69\x6e\x66\x6f\x00\x67\x61\x69\x5f\x73\x74\x72\x65\x72\x72\x6f\x72\x00\x69\x6e\x65\x74\x5f\x6e\x74\x6f\x70\x00\x70\x72\x69\x6e\x74\x66\x00\x66\x72\x65\x65\x61\x64\x64\x72\x69\x6e\x66\x6f\x00\x6c\x69\x62\x63\x2e\x73\x6f\x00\x4c\x49\x42\x43\x00\x2f\x64\x61\x74\x61\x2f\x64\x61\x74\x61\x2f\x63\x6f\x6d\x2e\x74\x65\x72\x6d\x75\x78\x2f\x66\x69\x6c\x65\x73\x2f\x75\x73\x72\x2f\x62\x69\x6e\x2f\x2e\x2e\x2f\x2e\x2e\x2f\x75\x73\x72\x2f\x6c\x69\x62\x00\x6c\x69\x62\x64\x6c\x2e\x73\x6f\x00\x00\x00\x00\xa0\x4c\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa8\x4c\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x4c\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xf8\x08\x00\x00\x00\x00\x00\x00\x30\x8d\x00\x00\x00\x00\x00\x00\x03\x04\x00\x00\x00\x00\x00\x00\xa4\x08\x00\x00\x00\x00\x00\x00\xb8\x4c\x00\x00\x00\x00\x00\x00\x01\x04\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd8\x4c\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe0\x4c\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xe8\x4c\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x4c\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf8\x4c\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x4d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x4d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x4d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x18\x4d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x4d\x00\x00\x00\x00\x00\x00\x02\x04\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x55\x73\x61\x67\x65\x3a\x20\x25\x73\x20\x3c\x68\x6f\x73\x74\x6e\x61\x6d\x65\x3e\x0a\x00\x25\x73\x0a\x00\x55\x6e\x72\x65\x73\x6f\x6c\x76\x61\x62\x6c\x65\x3a\x20\x25\x73\x0a\x00\x01\x1b\x03\x3b\x38\x00\x00\x00\x06\x00\x00\x00\x20\x01\x00\x00\x50\x00\x00\x00\x78\x01\x00\x00\x70\x00\x00\x00\x8c\x01\x00\x00\x84\x00\x00\x00\xa8\x01\x00\x00\x98\x00\x00\x00\xb8\x01\x00\x00\xac\x00\x00\x00\x0c\x02\x00\x00\xdc\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x01\x7a\x52\x00\x01\x7c\x1e\x01\x1b\x0c\x1f\x00\x1c\x00\x00\x00\x18\x00\x00\x00\xc8\x00\x00\x00\x58\x00\x00\x00\x00\x44\x2d\x44\x0e\x40\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x00\x00\x10\x00\x00\x00\x38\x00\x00\x00\x00\x01\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x4c\x00\x00\x00\x00\x01\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x60\x00\x00\x00\x08\x01\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x74\x00\x00\x00\x04\x01\x00\x00\x54\x00\x00\x00\x00\x44\x2d\x44\x0e\x20\x48\x0c\x1d\x20\x93\x02\x94\x04\x9e\x06\x9d\x08\x74\x0c\x1f\x20\x48\x0e\x00\x44\x2d\xd3\xd4\xde\xdd\x00\x28\x00\x00\x00\xa4\x00\x00\x00\x28\x01\x00\x00\x6c\x01\x00\x00\x00\x44\x0e\xc0\x01\x48\x0c\x1d\x10\x9e\x02\x9d\x04\x03\x54\x01\x0c\x1f\xc0\x01\x48\x0e\x00\xde\xdd\x00\x00\x00\x00\x00\x00\x00\x9f\x24\x03\xd5\x1d\x00\x80\xd2\x1e\x00\x80\xd2\xe0\x03\x00\x91\x01\x00\x00\x14\x3f\x23\x03\xd5\xff\x03\x01\xd1\xfd\x7b\x03\xa9\xfd\xc3\x00\x91\x28\x00\x00\x90\x29\x00\x00\x90\x00\xe4\x00\x6f\x08\x51\x46\xf9\x29\x55\x46\xf9\x28\x01\x08\xcb\x1f\x05\x00\xf1\xe0\x83\x00\xad\xe0\x03\x80\x3d\x8b\x00\x00\x54\x1f\x20\x03\xd5\x08\x27\x04\x10\xe8\x0b\x00\xf9\x22\x00\x00\x90\xe3\x03\x00\x91\xe1\x03\x1f\xaa\x42\x58\x46\xf9\x8c\x00\x00\x94\x5f\x24\x03\xd5\x60\x00\x00\xb4\xf0\x03\x00\xaa\x00\x02\x1f\xd6\xc0\x03\x5f\xd6\x5f\x24\x03\xd5\xe1\x03\x00\xaa\x1f\x20\x03\xd5\x00\xff\xff\x10\x1f\x20\x03\xd5\xa2\x25\x04\x10\x84\x00\x00\x14\x5f\x24\x03\xd5\x1f\x20\x03\xd5\x23\x25\x04\x10\x84\x00\x00\x14\x3f\x23\x03\xd5\xfd\x7b\xbe\xa9\xf4\x4f\x01\xa9\xfd\x03\x00\x91\x33\x00\x00\x90\x28\x00\x00\x90\x73\x52\x46\xf9\x08\x55\x46\xf9\x08\x01\x13\xeb\x00\x01\x00\x54\x08\xfd\x43\x93\x69\x0e\x08\x8b\x14\x05\x00\xd1\x29\x81\x5f\xf8\x20\x01\x3f\xd6\xe8\x03\x14\xaa\x74\xff\xff\xb5\xf4\x4f\x41\xa9\xfd\x7b\xc2\xa8\xbf\x23\x03\xd5\xc0\x03\x5f\xd6\xff\x03\x03\xd1\xfd\x7b\x0b\xa9\xfd\xc3\x02\x91\xbf\xc3\x1f\xb8\xa0\x83\x1f\xb8\xa1\x03\x1f\xf8\xa8\x83\x5f\xb8\x08\x09\x00\x71\xa0\x01\x00\x54\x01\x00\x00\x14\x28\x00\x00\x90\x08\x5d\x46\xf9\x00\x01\x40\xf9\xa8\x03\x5f\xf8\x02\x01\x40\xf9\x1f\x20\x03\xd5\x41\xec\xff\x10\x61\x00\x00\x94\x28\x00\x80\x52\xa8\xc3\x1f\xb8\x43\x00\x00\x14\xa0\x03\x01\xd1\xe0\x0b\x00\xf9\x02\x06\x80\xd2\xe1\x03\x1f\x2a\x5d\x00\x00\x94\xe2\x0b\x40\xf9\xbf\x43\x1c\xb8\x28\x00\x80\x52\xa8\x83\x1c\xb8\xa8\x03\x5f\xf8\x00\x05\x40\xf9\xe1\x03\x1f\xaa\xa3\x23\x01\xd1\x58\x00\x00\x94\xe0\x37\x00\xb9\xe8\x37\x40\xb9\x08\x02\x00\x34\x01\x00\x00\x14\x28\x00\x00\x90\x08\x5d\x46\xf9\x08\x01\x40\xf9\xe8\x07\x00\xf9\xe0\x37\x40\xb9\x52\x00\x00\x94\xe2\x03\x00\xaa\xe0\x07\x40\xf9\x01\x00\x00\x90\x21\x68\x1b\x91\x41\x00\x00\x94\x28\x00\x80\x52\xa8\xc3\x1f\xb8\x23\x00\x00\x14\xa8\x83\x5b\xf8\x08\x05\x40\xb9\x08\x09\x00\x71\x21\x01\x00\x54\x01\x00\x00\x14\xa8\x83\x5b\xf8\x08\x11\x40\xf9\xe8\x13\x00\xf9\xe8\x13\x40\xf9\x08\x11\x00\x91\xe8\x17\x00\xf9\x08\x00\x00\x14\xa8\x83\x5b\xf8\x08\x11\x40\xf9\xe8\x0f\x00\xf9\xe8\x0f\x40\xf9\x08\x21\x00\x91\xe8\x17\x00\xf9\x01\x00\x00\x14\xa8\x83\x5b\xf8\x00\x05\x40\xb9\xe1\x17\x40\xf9\xe2\xeb\x00\x91\xe2\x03\x00\xf9\xc3\x05\x80\x52\x34\x00\x00\x94\xe1\x03\x40\xf9\x00\x00\x00\x90\x00\x58\x1b\x91\x34\x00\x00\x94\xa0\x83\x5b\xf8\x36\x00\x00\x94\xbf\xc3\x1f\xb8\x01\x00\x00\x14\xa0\xc3\x5f\xb8\xfd\x7b\x4b\xa9\xff\x03\x03\x91\xc0\x03\x5f\xd6\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xf0\x7b\xbf\xa9\x30\x00\x00\x90\x11\x6a\x46\xf9\x10\x42\x33\x91\x20\x02\x1f\xd6\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x1f\x20\x03\xd5\x30\x00\x00\x90\x11\x6e\x46\xf9\x10\x62\x33\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x72\x46\xf9\x10\x82\x33\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x76\x46\xf9\x10\xa2\x33\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x7a\x46\xf9\x10\xc2\x33\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x7e\x46\xf9\x10\xe2\x33\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x82\x46\xf9\x10\x02\x34\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x86\x46\xf9\x10\x22\x34\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x8a\x46\xf9\x10\x42\x34\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x8e\x46\xf9\x10\x62\x34\x91\x20\x02\x1f\xd6\x30\x00\x00\x90\x11\x92\x46\xf9\x10\x82\x34\x91\x20\x02\x1f\xd6\x1d\x00\x00\x00\x00\x00\x00\x00\x86\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\xb8\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x79\x00\x00\x00\x00\x00\x00\x00\x1e\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\xfb\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x08\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x58\x05\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x09\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xf9\xff\xff\x6f\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x17\x00\x00\x00\x00\x00\x00\x00\xd0\x05\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xc0\x4c\x00\x00\x00\x00\x00\x00\x14\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x00\x00\x0b\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x05\x00\x00\x00\x00\x00\x00\x00\x94\x04\x00\x00\x00\x00\x00\x00\x0a\x00\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\xf5\xfe\xff\x6f\x00\x00\x00\x00\x78\x04\x00\x00\x00\x00\x00\x00\xf0\xff\xff\x6f\x00\x00\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\xfe\xff\xff\x6f\x00\x00\x00\x00\x58\x04\x00\x00\x00\x00\x00\x00\xff\xff\xff\x6f\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\xff\xff\xff\xff\xff\xff\xff\xff\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x74\x65\x78\x74\x00\x2e\x67\x6f\x74\x00\x2e\x6e\x6f\x74\x65\x2e\x61\x6e\x64\x72\x6f\x69\x64\x2e\x69\x64\x65\x6e\x74\x00\x2e\x67\x6f\x74\x2e\x70\x6c\x74\x00\x2e\x72\x65\x6c\x61\x2e\x70\x6c\x74\x00\x2e\x62\x73\x73\x00\x2e\x64\x79\x6e\x73\x74\x72\x00\x2e\x65\x68\x5f\x66\x72\x61\x6d\x65\x5f\x68\x64\x72\x00\x2e\x67\x6e\x75\x2e\x76\x65\x72\x73\x69\x6f\x6e\x5f\x72\x00\x2e\x69\x6e\x74\x65\x72\x70\x00\x2e\x72\x65\x6c\x61\x2e\x64\x79\x6e\x00\x2e\x67\x6e\x75\x2e\x76\x65\x72\x73\x69\x6f\x6e\x00\x2e\x64\x79\x6e\x73\x79\x6d\x00\x2e\x67\x6e\x75\x2e\x68\x61\x73\x68\x00\x2e\x72\x65\x6c\x72\x6f\x5f\x70\x61\x64\x64\x69\x6e\x67\x00\x2e\x65\x68\x5f\x66\x72\x61\x6d\x65\x00\x2e\x64\x79\x6e\x61\x6d\x69\x63\x00\x2e\x73\x68\x73\x74\x72\x74\x61\x62\x00\x2e\x72\x6f\x64\x61\x74\x61\x00\x2e\x64\x61\x74\x61\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x5d\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00\x00\x00\x00\x00\x70\x02\x00\x00\x00\x00\x00\x00\x15\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0c\x00\x00\x00\x07\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x88\x02\x00\x00\x00\x00\x00\x00\x98\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x7c\x00\x00\x00\x0b\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x00\x00\x20\x03\x00\x00\x00\x00\x00\x00\x20\x01\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x6f\x00\x00\x00\xff\xff\xff\x6f\x02\x00\x00\x00\x00\x00\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\x40\x04\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x4e\x00\x00\x00\xfe\xff\xff\x6f\x02\x00\x00\x00\x00\x00\x00\x00\x58\x04\x00\x00\x00\x00\x00\x00\x58\x04\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x84\x00\x00\x00\xf6\xff\xff\x6f\x02\x00\x00\x00\x00\x00\x00\x00\x78\x04\x00\x00\x00\x00\x00\x00\x78\x04\x00\x00\x00\x00\x00\x00\x1c\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x38\x00\x00\x00\x03\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x94\x04\x00\x00\x00\x00\x00\x00\x94\x04\x00\x00\x00\x00\x00\x00\xc1\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x65\x00\x00\x00\x04\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x58\x05\x00\x00\x00\x00\x00\x00\x58\x05\x00\x00\x00\x00\x00\x00\x78\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x29\x00\x00\x00\x04\x00\x00\x00\x42\x00\x00\x00\x00\x00\x00\x00\xd0\x05\x00\x00\x00\x00\x00\x00\xd0\x05\x00\x00\x00\x00\x00\x00\xf0\x00\x00\x00\x00\x00\x00\x00\x03\x00\x00\x00\x11\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\xba\x00\x00\x00\x01\x00\x00\x00\x32\x00\x00\x00\x00\x00\x00\x00\xc0\x06\x00\x00\x00\x00\x00\x00\xc0\x06\x00\x00\x00\x00\x00\x00\x2c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x40\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\xec\x06\x00\x00\x00\x00\x00\x00\xec\x06\x00\x00\x00\x00\x00\x00\x3c\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x9d\x00\x00\x00\x01\x00\x00\x00\x02\x00\x00\x00\x00\x00\x00\x00\x28\x07\x00\x00\x00\x00\x00\x00\x28\x07\x00\x00\x00\x00\x00\x00\xd0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\xf8\x07\x00\x00\x00\x00\x00\x00\x6c\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x04\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x2e\x00\x00\x00\x01\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\x70\x0a\x00\x00\x00\x00\x00\x00\xc0\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xa7\x00\x00\x00\x06\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x30\x4b\x00\x00\x00\x00\x00\x00\x30\x0b\x00\x00\x00\x00\x00\x00\x70\x01\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x10\x00\x00\x00\x00\x00\x00\x00\x07\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xa0\x4c\x00\x00\x00\x00\x00\x00\xa0\x0c\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x20\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\xc0\x4c\x00\x00\x00\x00\x00\x00\xc0\x0c\x00\x00\x00\x00\x00\x00\x68\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x8e\x00\x00\x00\x08\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x28\x4d\x00\x00\x00\x00\x00\x00\x28\x0d\x00\x00\x00\x00\x00\x00\xd8\x02\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc2\x00\x00\x00\x01\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x28\x8d\x00\x00\x00\x00\x00\x00\x28\x0d\x00\x00\x00\x00\x00\x00\x18\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x33\x00\x00\x00\x08\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x40\x8d\x00\x00\x00\x00\x00\x00\x40\x0d\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x08\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0\x00\x00\x00\x03\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x40\x0d\x00\x00\x00\x00\x00\x00\xc8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" | omnibin $zhost_do_lookup
  }
  zhost_result=$(zhost_dns $zhost_do_lookup) &> /dev/null && {
    zhost_found=0
    print -rn "$zhost_result"
  } || {
    # if normal DNS resolve failed, then use hosts file
    ! [ -f ""$HOME"/.ssh/ssh_hosts" ] && {
      touch ""$HOME"/.ssh/ssh_hosts"
    }
    zhosts_file=$(< ""$HOME"/.ssh/ssh_hosts")
    IFS=$'\n'
    for zcheck_host in $=zhosts_file; do
      [[ "$zcheck_host" = *"$zhost_do_lookup"* ]] && {
        zhost_found=0
        zcheck_host=${zcheck_host//"$zhost_do_lookup"/''}
        zcheck_host=${zcheck_host//' '/''}
        print -rn "$zcheck_host"
        break
      }
    done
    unset IFS
  }
  return $zhost_found
}

## begin input parse

# determine if is scp
called_with=$(revstr "${"$(revstr $called_with)": :3}")
is_scp=0
is_ssh=1
is_ping=0
[ "$called_with" = 'scp' ] && {
  is_scp=1
  is_ssh=0
}
[ "$called_with" = 'ing' ] && {
  is_ping=1
  is_ssh=0
}

## ssh / scp logic
# parse command line opts
([ "$is_scp" = 1 ] || [ "$is_ssh" = 1 ]) && {
  unset comm_fin
  IFS=$' '
  for comm_op in $=comm_toparse; do
    # trigger for comm edit (host lookup)
    [[ "$comm_op" = *'@'* ]] && {
      unset comm_user
      unset comm_host
      unset comm_filepath
      IFS=$'@'
      for comm_div in $=comm_op; do
        [ -z "$comm_user" ] && {
          comm_user="$comm_div"
        } || {
          [[ "$comm_div" = *":"* ]] && {
            [ "$is_scp" = 0 ] && {
              print "Error: invalid syntax (looks like scp command, but ssh invoked)"
              return 1
            }
            IFS=$':'
            for comm_fp in $=comm_div; do
              [ -z "$comm_host" ] && {
                comm_host="$comm_fp"
              } || {
                comm_filepath="$comm_fp"
              }
            done
            unset IFS
          } || {
            comm_host="$comm_div"
          }
        }
      done
      unset IFS
      comm_host_bak="$comm_host"
      comm_host=$(zhostlookup "$comm_host") || {
        print "Error: host "$comm_host_bak" not known"
        return 1
      }
      # ssh config handler
      [ -f ""$HOME"/.ssh/config" ] && {
        cp ""$HOME"/.ssh/config" ""$HOME"/.ssh/config.bak"
        ssh_config_file=$(< ""$HOME"/.ssh/config")
        ssh_config_file=${ssh_config_file//"$comm_host_bak"/"$comm_host"}
        IFS= noglob print -rn "$ssh_config_file" > ""$HOME"/.ssh/config"
      }
      [ -z "$comm_filepath" ] && {
        comm_op=""$comm_user"@"$comm_host""
      } || {
        comm_op=""$comm_user"@"$comm_host":"$comm_filepath""
      }
    }
    # add comm. op back to final command
    [ -z "$comm_fin" ] && {
      comm_fin="$comm_op"
    } || {
      comm_fin=""$comm_fin" "$comm_op""
    }
  done
  unset IFS

 # ! [ "$DISABLE_BKSLSH" = 1 ] && {
 #   comm_fin=${comm_fin//'-BKSLSH-'/'\'}
 # }

  [ "$is_scp" = 0 ] && {
    comm_fin="/data/data/com.termux/files/usr/bin/ssh "$comm_fin""
  } || {
    comm_fin="/data/data/com.termux/files/usr/bin/scp "$comm_fin""
  }

  [ "$zDEBUG" = 1 ] && {
    IFS= noglob print -rn "$comm_fin"
  }

  eval "$comm_fin"
  ssh_return_value=$?

  [ -f ""$HOME"/.ssh/config.bak" ] && {
    ssh_orig_config=$(< ""$HOME"/.ssh/config.bak")
    IFS= noglob print -rn "$ssh_orig_config" > ""$HOME"/.ssh/config"
    rm -rf ""$HOME"/.ssh/config.bak"
  }

  return $ssh_return_value
}

[ "$is_ping" = 1 ] && {
  brute_substitute() {
    unset comm_fin
    IFS=$' '
    for comm_op in $=comm_toparse; do
      comm_host=$(zhostlookup $comm_op) && {
        IFS= noglob print -rn "$comm_host "
      } || {
        IFS= noglob print -rn "$comm_op "
      }
    done
    unset IFS
  }
  comm_fin="/data/data/com.termux/files/usr/bin/ping "$(brute_substitute)""

  [ "$zDEBUG" = 1 ] && {
    IFS= noglob print -rn "$comm_fin"
  }

  eval $comm_fin
}
