/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 ĠCons en Sys ĠAG . Ċ Ġ* Ċ Ġ* Ġ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 Ġnet . cons ens ys . c ava . ss z . experimental Ċ Ċ import Ġnet . cons ens ys . c ava . bytes . Bytes Ċ import Ġnet . cons ens ys . c ava . ss z . SS Z Ċ import Ġnet . cons ens ys . c ava . units . big ints . UInt 2 5 6 Ċ import Ġjava . math . BigInteger Ċ Ċ @ Experimental Unsigned Types Ċ interface ĠS SZ Writer Ġ{ ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠAppend Ġan Ġalready ĠS SZ Ġencoded Ġvalue . ĊĠĠ Ġ* ĊĠĠ Ġ* ĠNote Ġthat Ġthis Ġmethod Ġ** may Ġnot ** Ġvalidate Ġthat Ġ` value ` Ġis Ġa Ġvalid ĠS SZ Ġsequence . ĠApp ending Ġan Ġinvalid ĠS SZ ĊĠĠ Ġ* Ġsequence Ġwill Ġcause Ġthe Ġentire ĠS SZ Ġencoding Ġproduced Ġby Ġthis Ġwriter Ġto Ġalso Ġbe Ġinvalid . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe ĠS SZ Ġencoded Ġbytes Ġto Ġappend . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite SS Z ( value : ĠBytes ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠAppend Ġan Ġalready ĠS SZ Ġencoded Ġvalue . ĊĠĠ Ġ* ĊĠĠ Ġ* ĠNote Ġthat Ġthis Ġmethod Ġ** may Ġnot ** Ġvalidate Ġthat Ġ` value ` Ġis Ġa Ġvalid ĠS SZ Ġsequence . ĠApp ending Ġan Ġinvalid ĠS SZ ĊĠĠ Ġ* Ġsequence Ġwill Ġcause Ġthe Ġentire ĠS SZ Ġencoding Ġproduced Ġby Ġthis Ġwriter Ġto Ġalso Ġbe Ġinvalid . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe ĠS SZ Ġencoded Ġbytes Ġto Ġappend . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite SS Z ( value : ĠByteArray ) Ġ= Ġwrite SS Z ( Bytes . wrap ( value )) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠEncode Ġa Ġ[ Bytes ] Ġvalue Ġto ĠS SZ . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġbyte Ġarray Ġto Ġencode . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Bytes ( value : ĠBytes ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠEncode Ġa Ġbyte Ġarray Ġto ĠS SZ . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġbyte Ġarray Ġto Ġencode . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Bytes ( value : ĠByteArray ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġstring Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġstr ĠThe Ġstring Ġto Ġwrite . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite String ( str : ĠString ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġtwo 's - comp li ment Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġinteger Ġvalue . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int ( value : ĠInt , Ġbit Length : ĠInt ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġtwo 's - comp li ment Ġlong Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġlong Ġvalue Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġinteger Ġvalue . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Long ( value : ĠLong , Ġbit Length : ĠInt ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġbig Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġinteger Ġvalue . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite BigInteger ( value : ĠBigInteger , Ġbit Length : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite SS Z ( SS Z . encode BigInteger To ByteArray ( value , Ġbit Length )) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġan Ġ 8 - bit Ġtwo 's - comp li ment Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 8 ( value : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite Int ( value , Ġ 8 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġ 1 6 - bit Ġtwo 's - comp li ment Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 1 6 ( value : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite Int ( value , Ġ 1 6 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġ 3 2 - bit Ġtwo 's - comp li ment Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 3 2 ( value : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite Int ( value , Ġ 3 2 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġ 6 4 - bit Ġtwo 's - comp li ment Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġlong Ġto Ġwrite . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 6 4 ( value : ĠLong ) Ġ{ ĊĠĠĠ Ġwrite Long ( value , Ġ 6 4 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġan Ġunsigned Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġinteger Ġvalue . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt ( value : ĠUInt , Ġbit Length : ĠInt ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġan Ġunsigned Ġlong Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġlong Ġvalue Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġinteger Ġvalue . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UL ong ( value : ĠU Long , Ġbit Length : ĠInt ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġan Ġ 8 - bit Ġunsigned Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 8 ( value : ĠUInt ) Ġ{ ĊĠĠĠ Ġwrite UInt ( value , Ġ 8 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġ 1 6 - bit Ġunsigned Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġvalue Ġis Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 1 6 ( value : ĠUInt ) Ġ{ ĊĠĠĠ Ġwrite UInt ( value , Ġ 1 6 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġ 3 2 - bit Ġunsigned Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġinteger Ġto Ġwrite . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 3 2 ( value : ĠUInt ) Ġ{ ĊĠĠĠ Ġwrite UInt ( value , Ġ 3 2 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġ 6 4 - bit Ġunsigned Ġinteger Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġlong Ġto Ġwrite . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 6 4 ( value : ĠU Long ) Ġ{ ĊĠĠĠ Ġwrite UL ong ( value , Ġ 6 4 ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġ[ UInt 2 5 6 ] Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġ[ UInt 2 5 6 ] Ġto Ġwrite . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 2 5 6 ( value : ĠUInt 2 5 6 ) Ġ{ ĊĠĠĠ Ġwrite SS Z ( SS Z . encode UInt 2 5 6 ( value )) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġboolean Ġto Ġthe Ġoutput . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġvalue ĠThe Ġboolean Ġvalue . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Boolean ( value : ĠBoolean ) Ġ{ ĊĠĠĠ Ġwrite SS Z ( SS Z . encode Boolean ( value )) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġan Ġaddress . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġaddress ĠThe Ġaddress Ġ( must Ġbe Ġexactly Ġ 2 0 Ġbytes ). ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġ` address . size Ġ!= Ġ 2 0 `. ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Address ( address : ĠBytes ) Ġ{ ĊĠĠĠ Ġwrite SS Z ( SS Z . encode Address ( address )) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġhash . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġhash ĠThe Ġhash . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Hash ( hash : ĠBytes ) Ġ{ ĊĠĠĠ Ġwrite SS Z ( SS Z . encode Hash ( hash )) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġbytes . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġbytes Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Bytes List ( var arg Ġelements : ĠBytes ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġstrings , Ġwhich Ġmust Ġbe Ġof Ġthe Ġsame Ġlength ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġstrings Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite String List ( var arg Ġelements : ĠString ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġtwo 's Ġcomp li ment Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġencoded Ġintegers Ġ( must Ġbe Ġa Ġmultiple Ġof Ġ 8 ). ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int List ( bit Length : ĠInt , Ġvar arg Ġelements : ĠInt ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġtwo 's Ġcomp li ment Ġlong Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġencoded Ġintegers Ġ( must Ġbe Ġa Ġmultiple Ġof Ġ 8 ). ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġlong Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Long Int List ( bit Length : ĠInt , Ġvar arg Ġelements : ĠLong ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġbig Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġeach Ġinteger . ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException Ġif Ġan Ġinteger Ġcannot Ġbe Ġstored Ġin Ġthe Ġnumber Ġof Ġbytes Ġprovided ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite BigInteger List ( bit Length : ĠInt , Ġvar arg Ġelements : ĠBigInteger ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 8 - bit Ġtwo 's Ġcomp li ment Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 8 List ( var arg Ġelements : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite Int List ( 8 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 1 6 - bit Ġtwo 's Ġcomp li ment Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 1 6 List ( var arg Ġelements : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite Int List ( 1 6 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 3 2 - bit Ġtwo 's Ġcomp li ment Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 3 2 List ( var arg Ġelements : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite Int List ( 3 2 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 6 4 - bit Ġtwo 's Ġcomp li ment Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Int 6 4 List ( var arg Ġelements : ĠInt ) Ġ{ ĊĠĠĠ Ġwrite Int List ( 6 4 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġunsigned Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġencoded Ġintegers Ġ( must Ġbe Ġa Ġmultiple Ġof Ġ 8 ). ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt List ( bit Length : ĠInt , Ġvar arg Ġelements : ĠUInt ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġunsigned Ġlong Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġbit Length ĠThe Ġbit Ġlength Ġof Ġthe Ġencoded Ġintegers Ġ( must Ġbe Ġa Ġmultiple Ġof Ġ 8 ). ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġlong Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UL ong Int List ( bit Length : ĠInt , Ġvar arg Ġelements : ĠU Long ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 8 - bit Ġunsigned Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 8 List ( var arg Ġelements : ĠUInt ) Ġ{ ĊĠĠĠ Ġwrite UInt List ( 8 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 1 6 - bit Ġunsigned Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 1 6 List ( var arg Ġelements : ĠUInt ) Ġ{ ĊĠĠĠ Ġwrite UInt List ( 1 6 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 3 2 - bit Ġunsigned Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 3 2 List ( var arg Ġelements : ĠU Long ) Ġ{ ĊĠĠĠ Ġwrite UL ong Int List ( 3 2 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġ 6 4 - bit Ġunsigned Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġvalues Ġare Ġtoo Ġlarge Ġfor Ġthe Ġspecified Ġbit Ġlength . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 6 4 List ( var arg Ġelements : ĠU Long ) Ġ{ ĊĠĠĠ Ġwrite UL ong Int List ( 6 4 , Ġ* elements ) ĊĠ Ġ} ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġunsigned Ġ 2 5 6 - bit Ġintegers . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġintegers Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite UInt 2 5 6 List ( var arg Ġelements : ĠUInt 2 5 6 ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġhashes . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġhashes Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Hash List ( var arg Ġelements : ĠBytes ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġaddresses . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġaddresses Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġany Ġ` address . size Ġ!= Ġ 2 0 `. ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Address List ( var arg Ġelements : ĠBytes ) ĊĊĠ Ġ/** ĊĠĠ Ġ* ĠWrite Ġa Ġlist Ġof Ġb ooleans . ĊĠĠ Ġ* ĊĠĠ Ġ* Ġ@ param Ġelements ĠThe Ġb ooleans Ġto Ġwrite Ġas Ġa Ġlist . ĊĠĠ Ġ*/ ĊĠ Ġfun Ġwrite Boolean List ( var arg Ġelements : ĠBoolean ) Ċ } Ċ