package Ġcom . dan il afe . kt star bound . readers Ċ Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġreader Ġthat Ġholds Ġits Ġdata Ġin Ġthe Ġgiven Ġarray . Ċ Ġ*/ Ċ class ĠArray Reader ( val Ġarray : ĠByteArray , Ġvar Ġindex : ĠInt ) Ġ: ĠGeneric Reader () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġread ( length : ĠInt ): ĠByteArray ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdata Ġ= ĠArrays . copyOf Range ( array , Ġindex , Ġindex Ġ+ Ġlength ) ĊĠĠĠĠĠĠĠ Ġif ( data Ġ!= Ġnull ) Ġindex Ġ+= Ġlength ĊĠĠĠĠĠĠĠ Ġreturn Ġdata ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġadvance ( length : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġindex Ġ+= Ġlength . toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġmove ( length : ĠLong ) Ġ{ ĊĠĠĠĠĠĠĠ Ġindex Ġ= Ġlength . toInt () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġindex (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġindex . to Long () ĊĠĠĠ Ġ} Ċ Ċ } Ċ