alias msn.decode {
  var %r
  if (%msnx.decode) {
    %r = $replace($1-,,E,,C,,A,,R,,K,,y,ﺘ,i,ﺉ,s,דּ,t,טּ,u,ﻉ,e,,k,,F,,u,,g,,<,,>,,%,,8,,d,,m,,h,ﻛ,s,,G,,M,,l,,s,,_,,T,,r,,a,,n,,c,,e,,N,,a,,t,,i,,o,,n,,f,,w,,\,,|,,@,,P,,D,,',,,,$chr(40),,$chr(41),,*,,:,,[,,],,p,,.)
    %r = $replace(%r,Į,I,Ļ,L,Ф,o,Ĉ,C,ŏ,o,ũ,u,ń,n,Ģ,G,ŕ,r,ś,s,ķ,k,Ŗ,R,ז,i,ε,e,ק,r,ћ,h,м,m,،,,ī,i,‘,,’,,ū,u,ē,e,¢,,,S,,Y,,O,,I,Ά,A,ъ,b,,T,Φ,o,Ђ,b,я,r,Ё,E,д,A,К,K,Ď,D,и,n,θ,o,М,M,Ї,I,Т,T,Є,e,Ǻ,A,ö,,ä,,–,,·,,Ö,,Ü,,Ë,,ѕ,s,ą,a,ĭ,i,й,n,в,b,о,o,ш,w,Ğ,G,đ,d,з,e,Ŧ,T,α,a,ğ,g,ú,,Ŕ,R,Ą,A,ć,c,Đ,,Κ,K,ў,y,µ,,Í,,‹,,¦,,Õ,,Ù,,À,,Π,N,ғ,f,ΰ,u,Ŀ,L,ō,o,ς,c,ċ,c,ħ,h,į,i,ŧ,t,Ζ,Z,Þ,,þ,,ç,,á,,¾,,ž,,Ç,, $+ $chr(173),-,Á,,…,,¨,,ý,,ˉ,,”,,Û,,ì,,ρ,p,έ,e,г,r,à,,È,,¼,,ĵ,j,ã,,ę,e,ş,s,º,,Ñ,,ã,,Æ,,˚,,Я,R,˜,,Î,,Ê,,Ý,,Ï,,É,,‡,,Ì,,ª,,ó,,х,x,™,,Ò,,í,,¿,,Ä,,¶,,ü,,ƒ,,ð,,ò,,õ,,¡,,é,,ß,,¤,,×,,ô,,Š,,ø,,›,,â,,î,,€,,š,,ï,,ÿ,,å,,©,,®,,û,,†,,°,,§,,±,,²,,»,,ë,,•,,¥,,Ø,,ù,,«,,è,)
    %r = $replace(%r,۰,,Ĵ,J,І,I,Σ,E,ι,i,Ő,O,δ,d,ץ,y,ν,v,ע,y,מ,n,Ž,,ő,o,Č,C,ė,e,₤,L,Ō,O,ά,a,Ġ,G,Ω,O,Н,H,ể,e,ẵ,a,Ж,K,ề,e,ế,e,ỗ,o,۱,',₣,F,∆,a,Ắ,A,ủ,u,Ķ,K,Ť,T,Ş,S,Θ,O,Ш,W,Β,B,П,N,ẅ,w,ﻨ,i,ﯼ,s,џ,u,ђ,h,¹,,Ỳ,Y,λ,a,С,C, $+ $chr(173),E,Ű,U,Ī,I,č,c,Ĕ,E,Ŝ,S,Ị,I,ĝ,g,ŀ,l,ї,i,٭,*,ŉ,n,Ħ,H,Д,A,Μ,M,ё,e,Ц,U,э,e,“,,ф,o,у,y,с,c,к,k,Å,,Ƥ,P,℞,R,,I,ɳ,n,ʗ,c,▫,",ř,r,ѓ,r,ệ,e,ắ,a,ẳ,a,ů,u,Ľ,L,ư,u,·,,˙,',η,n,ℓ,l,,,,,,,׀,i,ġ,g,Ň,N,Ŵ,W,Δ,A,ﮊ,J,μ,,Ÿ,,ĥ,h,β,,Ь,b,ų,u,є,e,ω,w,Ċ,C,і,i,ł,l,ǿ,o,∫,s,ż,z,ţ,t,æ,,≈,=,Ł,L,ŋ,n,گ,S,ď,d,ψ,y,σ,o,ģ,g,Ή,H,ΐ,i,ґ,r,κ,k,Ŋ,N,,\,,/,¬,,щ,w,ە,o,ם,d,³,,½,,İ,I,ľ,l,ĕ,e,Ţ,T,ŝ,s,ŷ,y,ľ,l,ĩ,i,Ô,,Ś,S,Ĺ,L,а,a,е,e,Ρ,P,Ј,J,Ν,N,ǻ,a,ђ,h,ή,n,ί,l,Œ,,¯,,ā,a,ŵ,w,Â,,Ã,,Р,P,н,H,ˇ,',¸,,̣,$chr(44),ط,b,Ó,,Й,N,ê,)
    %r = $replace(%r,ق,J,,?,￼,-,◊,o,т,T,Ā,A,קּ,P,Ė,E,Ę,E,χ,X,ο,o,ϋ,u,‼,!!,ט,v,ﮒ,S,Ч,y,Ґ,r,ě,e,Ę,E,ĺ,I,Λ,a,ο,o,Ú,,Ř,R,Ư,U,œ,,ņ,n,,-,—,,ห,n,ส,a,ฐ,s,р,p,Ψ,Y,Ẫ,A,π,n,Ņ,N,!,o,Ћ,h,ợ,o,ĉ,c,◦,,ﮎ,S,,y,Ų,U,Е,E,Ѕ,S,۵,o,ي,S,ب,u,ة,o,ئ,s,ļ,l,ı,i,ŗ,r,ж,x,΅,",ώ,w,▪,,ζ,C,Щ,W,฿,B,ỹ,o,ϊ,i,ť,t,п,n,´,,ک,s,ﱢ,*,ξ,E,ќ,k,√,v,τ,t,Ð,,£,,ñ,)
  }
  else {
    %r = $1-
  }
  return %r
}

alias msndecode {
  if ($1 == on) %msnx.decode = $true
  else unset %msnx.decode
  echo -ta MSN Decode is now $iif(%msnx.decode,on,off)
}

raw KNOCK:*: {
  echo @Raws 14K15nock $+ 12/14 $+ $time(h12:15nnt) 15 $nick 12/14K15nocking12!
  if ($2 == 913) {
    echo -t $1 $time(h12:15nnt) $+ 12/15 Knock  $msn.decode($nick) ( $+ $address $+ ) 9:3:0[Access Ban]: $nick
  }
  elseif ($2 == 471) {
    echo -t $1 $time(h12:15nnt) $+ 12/15 Knock  $msn.decode($nick) ( $+ $address $+ ) 9:3:0[Room is full]: $nick
  }
  elseif ($2 == 473) {
    echo  -t $1 $time(h12:15nnt) $+ 12/15 Knock $msn.decode($nick) ( $+ $address $+ ) 9:3:0[Room is invite only]: $nick
  }
  elseif ($2 == 474) {
    echo -t $1 $time(h12:15nnt) $+ 12/15 Knock  $msn.decode($nick) $+ 12/14 ( $+ $address $+ ) 9:3:0[Banned]: $nick
  }
  elseif ($2 == 475) {
    echo -t $1 $time(h12:15nnt) $+ 12/15 Knock  $msn.decode($nick) $+ 12/14 ( $+ $address $+ ) 9:3:0[Need room key]: $nick
  }
  else {
    echo -t $1 $time(h12:15nnt) $+ 12/15 Knock  $msn.decode($nick) $+ (12/14 ( $+ $address $+ ) 9:3:0[Numeric: $2 $+ ]: $nick
  }
  haltdef
}

on ^*:JOIN:*: {
  if (%msnx.decode) {
    if ($nick === $me) {
      haltdef
      echo # $[ $+ 1415Now being 14Fj33r3d15 in $remove($chan,) $+ $] | .echo # %xjtime.  [ $+ [ # ] ]
      if (%room.pass. [ $+ [ $right($chan,-2) ] ] ) {
        echo $color(join) -t $chan *** Room key is:  $msn.roompass($chan)
      }     
    }
    else {
      echo # 14Join1214! $+ $remove($chan,) 12(15 $+ $msn.decode($nick) $+ 12/14 $+ $remove($address,@Gatekeeper,Passport)  $+ 12) $+ $] 15: $nick
      echo @Raws 14J15oin $+ 12/14 $+ $time(h12:15nnt) 15 $nick 12/14J15oined12!
    }
    haltdef
  }
}

on ^*:PART:*: {
  if (%msnx.decode) {
    if ($nick == $me) { halt }
    echo # $[ $+ 14Left1214! $+ $remove($chan,) 12(15 $+ $msn.decode($nick) $+ 12/14 $+ $remove($address,@Gatekeeper,Passport)  $+ 12) $+ $] 15: $nick
    echo @Raws 14L15eft $+ 12/14 $+ $time(h12:15nnt) 15 $nick 12/14G15one12!
    haltdef
  }
}

on ^*:TEXT:*:#: {
  if (%msnx.decode) {
    var %p
    if ($nick isowner $chan) %p = .
    elseif ($nick isop $chan) %p = @
    elseif ($nick isvo $chan) %p = +
    echo $color(normal) -tmi2 $chan 15 $+ $time(h12:15nnt) $+ 12/15 $+ $msn.decode(1214 $+ %p $+ $nick $+ 12;15 $1-)
    echo @Raws 14T15ext $+ 12/14 $+ $time(h12:15nnt) 15 $nick 12/14 $2- 
    haltdef
  }
}

on ^*:ACTION:*:#: {
  if (%msnx.decode) {
    var %p
    if ($nick isowner $chan) %p = .
    elseif ($nick isop $chan) %p = @
    elseif ($nick isvo $chan) %p = +
    echo # $[ $+ 15 $+ $time(h12:15nnt) $+ 1215Action!12/15 $+ $msn.decode($nick) $+ $] 15 $+ $1- 
    echo @Raws 14A15ction $+ 12/14 $+ $time(h12:15nnt) 15 $nick 12/14A15ctioned..12!
    haltdef
  }
}

on ^*:TEXT:*:?: {
  if (%msnx.decode) {
    var %p
    if ($gettok($nick,1,37) isowner $comchan($nick,1)) %p = .
    elseif ($gettok($nick,1,37) isop $comchan($nick,1)) %p = @
    elseif ($gettok($nick,1,37) isvo $comchan($nick,1)) %p = +
    echo $color(normal) -tmi 215 $+ $time(h12:15nnt) $+ 12/15 $nick $msn.decode(< $+ %p $+ $gettok($nick,1,37) $+ > $1-)
    echo @Raws 14T15ext $+ 12/14 $+ $time(h12:15nnt) 15 $nick 12/14 $2- 
    haltdef
  }
}

on ^*:NOTICE:*:#: {
  if (%msnx.decode) {
    echo # $+ 15 $+ $time(h12:15nnt) $+ 1215Notice!12/15 $+ $msn.decode(- $+ $nick $+ - $1-)
    haltdef
  }
}

on ^*:NOTICE:*:?: {
  if (%msnx.decode) {
    echo # $+ 15 $+ $time(h12:15nnt) $+ 1215Notice!12/15 $+ $msn.decode(- $+ $nick $+ - $1-)
    haltdef
  }
}

on ^*:RAWMODE:*: {
  if (%msnx.decode) {
    echo -tmi2 $chan 15 $+ $time(h12:15nnt) $+ 12/1514Mode1214! $msn.decode( $nick sets mode: $1-)
    haltdef
  }
}
on ^*:kick:*: {
  if (%msnx.decode) {
    echo $chan 14 $+ $msn.decode($time(h12:15nnt) $+ 12/151415 $+ $nick Kicked $Knick out of the chat room: $1- )
    echo @Raws $time(h12:15nnt $+ 12/1514 $+ 14 $nick 14H15as 14K15icked 14$Knick12: 14R15eason12;14 $1- )
    haltdef
  }
}
raw prop:*: {
  if (%msnx.decode) {
    echo $1 15 $+ $msn.decode($time(h12:15nnt) $+ 12/1514 $+ $nick Changed The 15( $2 ) 14Property To: $3- )
    echo @Raws $time(h12:15nnt $+ 12/1514 $+ $nick 14C15hanged 14T15he 15( $2 ) 14Property To: $3- )
    haltdef
  }
}
on ^*:topic:*: {
  if (%msnx.decode) {
    echo $chan 15 $+ $msn.decode($time(h12:15nnt) $+ 12/151415 $+ $nick Changes The Topic To: $1-)
    echo @Raws $time(h12:15nnt $+ 12/1514 $+ $nick 14C15hanged 14T15he 14T15opic 14T14o12: $1- )
    haltdef
  }
}
raw WHISPER:*: {
  if (%msnx.decode) {
    echo -a $time(h12:15nnt) $+ 12/14Whisper12/1415 $+ $msn.decode($nick): 12;14 $2- ) 
    echo @Raws $time(h12:15nnt) $+ 12/14W15hisper12/1415 $+ $msn.decode($nick): $2- )
    haltdef
  }
}
raw 482:*: { 
  if (%msnx.decode) {
    echo -a 15 $+ $time(h12:15nnt) $+ 12/151215Your Not A Channel Op mCl0on3!12
    echo @Raws $time(h12:15nnt) $+ 12/ $+ 14S15orry, you havent got a hammer12!
    haltdef
  }
}
raw 820:*: { 
  if (%msnx.decode) {
    if ($3 != $chr(42)) { echo -a $stamp $time(h12:15nnt) $+ 12/ $+ 14A15ccess Cleared :15 $3 $+ 14) | halt }
    echo -a $time(h12:15nnt) $+ 12/ $+ 14A15ccess Cleared 15 $3 $+ 14) | halt 
  }
}
raw KILL:*: { 
  if (%msnx.decode) {
  echo -a $time(h12:15nnt) $+ 12/ $+ 12(14S15erver12)15 $msndecode($1) KILLED $2 for $3- | halt }
}
raw 332:*: { 
  if (%msnx.decode) {
  echo -a  $time(h12:15nnt) $+ 12/ $+ 14T15opic12;15 $replace($2-,\b,) | halt }
}
menu nicklist {
  -
  $msn.decode($$1) :echo -a Actual nickname:  $$1
  -
}
