// ĠCopyright Ġ 2 0 2 0 ĠT ulip ĠSolutions ĠB . V . Ċ // Ċ // ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ // Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ // ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ // Ċ // ĠĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ // Ċ // ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ // Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ // ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ // ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ // Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ċ package Ġnl . t ulip solutions . byte utils Ċ Ċ fun ĠInt Range . add N ( n : ĠInt ) Ġ= ĠInt Range ( this . last , Ġthis . last Ġ+ Ġn ) Ċ Ċ fun ĠInt . toByteArray () Ġ= ĊĠĠĠ Ġbyte ArrayOf ( ĊĠĠĠĠĠĠĠ Ġthis . shr ( 2 4 ). and ( 0 xff ). to Byte (), ĊĠĠĠĠĠĠĠ Ġthis . shr ( 1 6 ). and ( 0 xff ). to Byte (), ĊĠĠĠĠĠĠĠ Ġthis . shr ( 8 ). and ( 0 xff ). to Byte (), ĊĠĠĠĠĠĠĠ Ġthis . and ( 0 xff ). to Byte () ĊĠĠĠ Ġ) Ċ Ċ fun ĠByteArray . getInt At ( idx : ĠInt ) Ġ= ĊĠĠĠ Ġ( this [ idx ]. toInt (). and ( 0 xff ) Ġshl Ġ 2 4 ) Ġor ĊĠĠĠĠĠĠĠ Ġ( this [ idx Ġ+ Ġ 1 ]. toInt () Ġshl Ġ 1 6 ) Ġor ĊĠĠĠĠĠĠĠ Ġ( this [ idx Ġ+ Ġ 2 ]. toInt (). and ( 0 xff ). and ( 0 xff ) Ġshl Ġ 8 ) Ġor ĊĠĠĠĠĠĠĠ Ġthis [ idx Ġ+ Ġ 3 ]. toInt (). and ( 0 xff ) Ċ Ċ @ kotlin . Experimental Unsigned Types Ċ fun ĠU ByteArray . get UInt At ( idx : ĠInt ) Ġ= ĊĠĠĠ Ġ( this [ idx ]. to UInt () Ġshl Ġ 2 4 ) Ġor ĊĠĠĠĠĠĠĠ Ġ( this [ idx Ġ+ Ġ 1 ]. to UInt () Ġshl Ġ 1 6 ) Ġor ĊĠĠĠĠĠĠĠ Ġ( this [ idx Ġ+ Ġ 2 ]. to UInt () Ġshl Ġ 8 ) Ġor ĊĠĠĠĠĠĠĠ Ġthis [ idx Ġ+ Ġ 3 ]. to UInt () Ċ Ċ @ kotlin . Experimental Unsigned Types Ċ fun ĠUInt . to U ByteArray () Ġ= ĊĠĠĠ Ġ ubyte ArrayOf ( ĊĠĠĠĠĠĠĠ Ġ( this Ġshr Ġ 2 4 ). to U Byte (), ĊĠĠĠĠĠĠĠ Ġ( this Ġshr Ġ 1 6 ). to U Byte (), ĊĠĠĠĠĠĠĠ Ġ( this Ġshr Ġ 8 ). to U Byte (), ĊĠĠĠĠĠĠĠ Ġthis . to U Byte () ĊĠĠĠ Ġ) Ċ