package Ġcom . sk sam uel . avro 4 k . decoder Ċ Ċ import Ġkotlinx . serialization . descriptors . Serial Descriptor Ċ import Ġkotlinx . serialization . encoding . Abstract Decoder Ċ import Ġkotlinx . serialization . encoding . Composite Decoder . Companion . DECODE _ DONE Ċ Ċ class ĠByteArray Decoder ( val Ġdata : ĠByteArray ) Ġ: ĠAbstract Decoder () Ġ{ ĊĊĠĠ Ġprivate Ġvar Ġindex Ġ= Ġ- 1 ĊĊĠĠ Ġoverride Ġfun Ġdecode Collection Size ( descriptor : ĠSerial Descriptor ): ĠInt Ġ= Ġdata . size ĊĠĠ Ġoverride Ġfun Ġdecode Element Index ( descriptor : ĠSerial Descriptor ): ĠInt Ġ{ ĊĠĠĠĠĠ Ġindex ++ ĊĠĠĠĠĠ Ġreturn Ġif ( index Ġ< Ġdata . size ) Ġindex Ġelse ĠDE CODE _ DONE ĊĠĠ Ġ} ĊĊĠĠ Ġoverride Ġfun Ġdecode Byte (): ĠByte Ġ{ ĊĠĠĠĠĠ Ġreturn Ġdata [ index ] ĊĠĠ Ġ} Ċ }