package Ġorg . run est ar . client . plugins . dev Ċ Ċ import Ġcom . google . common . base . Splitter Ċ import Ġorg . kx tra . slf 4 j . info Ċ import Ġorg . run est ar . client . api . util . Disposable Plugin Ċ import Ġorg . run est ar . client . game . api . live . Canvas Ċ import Ġorg . run est ar . client . game . raw . CLIENT Ċ import Ġorg . run est ar . client . plugins . spi . Plugin Settings Ċ Ċ class ĠVar ps Change Debug Ġ: ĠDis posable Plugin < Plugin Settings >() Ġ{ ĊĊĠĠĠ Ġoverride Ġval Ġdefault Settings Ġ= ĠPlugin Settings () ĊĊĠĠĠ Ġval Ġvar ps Ġ= ĠCLIENT . var ps _ main ĊĊĠĠĠ Ġ@ Volatile ĊĠĠĠ Ġvar Ġold Ġ= Ġvar ps . copyOf () ĊĊĠĠĠ Ġoverride Ġfun ĠonStart () Ġ{ ĊĠĠĠĠĠĠĠ Ġadd ( Canvas . rep aints . subscribe Ġ{ Ġg Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġcurr Ġ= Ġvar ps . copyOf () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġold . indices ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġo Ġ= Ġold [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġc Ġ= Ġcurr [ i ] ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( o Ġ!= Ġc ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġchanged Bits Ġ= ĠInteger . to Binary String ( o Ġxor Ġc ). pad Start ( Integer . SIZE , Ġ' 0 ') ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlast Bit Changed Ġ= ĠInteger . SIZE Ġ- Ġchanged Bits . lastIndexOf (' 1 ') Ġ- Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfirst Bit Changed Ġ= ĠInteger . SIZE Ġ- Ġchanged Bits . indexOf (' 1 ') Ġ- Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlogger . info Ġ{ Ġ"$ i : Ġ$ first Bit Changed Ġ- Ġ$ last Bit Changed \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ int ToString ( o )} Ġ-> \ n " Ġ+ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġint ToString ( c ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġold Ġ= Ġcurr ĊĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġval Ġsplit ter 8 Ġ= ĠSplit ter . fixed Length ( 8 ) ĊĊĠĠĠ Ġfun Ġint ToString ( n : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġb Ġ= ĠInteger . to Binary String ( n ). pad Start ( Integer . SIZE , Ġ' 0 ') ĊĠĠĠĠĠĠĠ Ġreturn Ġsplit ter 8 . split ToList ( b ). join ToString ("' ") ĊĠĠĠ Ġ} Ċ }