package Ġbit shares kit . extensions Ċ Ċ import Ġbit shares kit . models .* Ċ import Ġbit shares kit . models . Optional Ċ import Ġbit shares kit . objects . Graph ene Object Ċ import Ġbit shares kit . objects . Graph ene Serializable Ċ import Ġorg . java _ json . JSONArray Ċ import Ġorg . java _ json . JSONObject Ċ import Ġjava . util .* ĊĊ Ċ fun ĠJSONObject . opt Graph ene Time ( name : ĠString ): ĠDate Ġ= Ġformat Iso Time ( opt String ( name )) Ċ // fun ĠJSONObject . opt Graph ene Time Millis ( name : ĠString ): ĠLong Ġ= Ġformat Iso Time ( opt String ( name )). time Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Object > ĠJSONObject . opt Graph ene Instance ( name : ĠString ): ĠT Ġ= Ġcreate Graph ene ( opt String ( name )) Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Object > ĠJSONObject . opt Graph ene Instance ( name : ĠString , ĠdefaultValue : ĠT ): ĠT Ġ= Ġopt String ( name ). let Ġ{ Ġif Ġ( it . isEmpty ()) ĠdefaultValue Ġelse Ġcreate Graph ene ( it ) Ġ} Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Object > ĠJSONObject . opt Graph ene Instance ( name : ĠString , ĠdefaultValue : ĠNothing ?): ĠT ? Ġ= Ġopt String ( name ). let Ġ{ Ġif Ġ( it . isEmpty ()) ĠdefaultValue Ġelse Ġcreate Graph ene ( it ) Ġ} Ċ Ċ fun ĠJSONArray . opt Graph ene Time ( index : ĠInt ): ĠDate Ġ= Ġformat Iso Time ( opt String ( index )) Ċ // fun ĠJSONArray . opt Graph ene Time Millis ( index : ĠInt ): ĠLong Ġ= Ġformat Iso Time ( opt String ( index )). time Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Object > ĠJSONArray . opt Graph ene Instance ( index : ĠInt ): ĠT Ġ= Ġcreate Graph ene ( opt String ( index )) Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Object > ĠJSONArray . opt Graph ene Instance ( index : ĠInt , ĠdefaultValue : ĠT ): ĠT Ġ= Ġopt String ( index ). let Ġ{ Ġif Ġ( it . isEmpty ()) ĠdefaultValue Ġelse Ġcreate Graph ene ( it ) Ġ} Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Object > ĠJSONArray . opt Graph ene Instance ( index : ĠInt , ĠdefaultValue : ĠNothing ?): ĠT ? Ġ= Ġopt String ( index ). let Ġ{ Ġif Ġ( it . isEmpty ()) ĠdefaultValue Ġelse Ġcreate Graph ene ( it ) Ġ} Ċ Ċ inline Ġfun Ġ< re ified ĠT : ĠAny > ĠJSONObject . opt Iterable ( name : ĠString ): ĠIterable < T > Ġ= Ġopt JSONArray ( name ). map NotNull Ġ{ Ġit . as OrNull < T >() Ġ}. as Iterable () ĊĊĊ Ċ // inline Ġfun Ġ< re ified ĠT : ĠAny > ĠJSONArray . as Iterable (): ĠIterable < T > Ġ{ Ċ //// ĠĠĠ Ġreturn ĠIterable Ġ{ Ċ //// ĠĠĠĠĠĠĠ Ġobject Ġ: ĠIterator < T > Ġ{ Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġhas Next (): ĠBoolean Ġ= Ġthis @ as Iterable . iterator (). hasNext () Ċ //// ĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġnext (): ĠT Ġ= Ġthis @ as Iterable . iterator (). next () Ġas ĠT Ċ //// ĠĠĠĠĠĠĠ Ġ} Ċ //// ĠĠĠ Ġ} Ċ // ĠĠĠ Ġreturn Ġ( 0 Ġuntil Ġlength ()). as Sequence (). map NotNull Ġ{ Ġget ( it ) Ġas ? ĠT Ġ}. as Iterable () Ċ //} Ċ Ċ fun ĠJSONObject . opt PublicKey ( name : ĠString ): ĠPublicKey Ġ= ĠPublicKey . from Address ( opt String ( name )) Ċ fun ĠJSONArray . opt PublicKey ( index : ĠInt ): ĠPublicKey Ġ= ĠPublicKey . from Address ( opt String ( index )) Ċ Ċ // inline Ġfun Ġ< re ified ĠT : ĠGraph ene Object > ĠJSONObject . opt Graph ene Instance ( name : ĠString ): ĠT Ġ= Ġcreate Graph ene ( opt String ( name )) Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Serializable > ĠJSONObject . opt Item ( name : ĠString ): ĠT Ġ= Ġopt Item Internal ( name ) Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Serializable > ĠJSONObject . opt Item ( name : ĠString , ĠdefaultValue : ĠNothing ?): ĠT ? Ġ= Ġif Ġ( isNull ( name )) Ġnull Ġelse Ġopt Item Internal ( name ) Ċ Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Serializable > ĠJSONObject . opt Optional Item ( name : ĠString ): ĠOptional < T > Ġ{ ĊĠĠĠ Ġif Ġ( isNull ( name )) Ġreturn ĠOptional ( null ) ĊĠĠĠ Ġreturn ĠOptional ( opt Item Internal ( name )) Ċ } ĊĊ Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Serializable > ĠJSONObject . opt Item Internal ( name : ĠString ): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( T :: class ) Ġ{ ĊĠĠĠĠĠĠĠ ĠPublicKey :: class Ġ-> ĠPublicKey . from Address ( opt String ( name )) ĊĠĠĠĠĠĠĠ ĠV ote :: class Ġ-> ĠV ote . fromString Id ( opt String ( name )) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġdeserialize Graph ene Json Item < T >( opt JSONObject ( name )) ĊĠĠĠ Ġ} Ġas ĠT Ċ } Ċ Ċ inline Ġfun Ġ< re ified ĠT : ĠGraph ene Serializable > Ġdeserialize Graph ene Json Item ( raw Json : ĠJSONObject ): ĠT Ġ{ ĊĠĠĠ Ġreturn Ġwhen Ġ( T :: class ) Ġ{ ĊĠĠĠĠĠĠĠ ĠSimple Price :: class Ġ-> ĠSimple Price . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠPrice Feed :: class Ġ-> ĠPrice Feed . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠM emo :: class Ġ-> ĠM emo . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠAuthor ity :: class Ġ-> ĠAuthor ity . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠAsset Amount :: class Ġ-> ĠAsset Amount . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠF ee Schedule :: class Ġ-> ĠF ee Schedule . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠChain Parameters :: class Ġ-> ĠChain Parameters . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠAccount Options :: class Ġ-> ĠAccount Options . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠLinear V esting Policy Initializer :: class Ġ-> ĠLinear V esting Policy Initializer . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠC dd V esting Policy Initializer :: class Ġ-> ĠC dd V esting Policy Initializer . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠV esting Policy Initializer :: class Ġ-> ĠV esting Policy Initializer . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠSte alth Confirmation :: class Ġ-> ĠSte alth Confirmation . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ ĠBl ind Output :: class Ġ-> ĠBl ind Output . fromJson ( raw Json ) ĊĠĠĠĠĠĠĠ Ġelse Ġ-> Ġthrow ĠIllegalArgumentException (" No Ġmatched Ġclass Ġ[ ${ T :: class }] Ġfor Ġmethod ĠJSONObject . opt Item ( name : ĠString )") ĊĠĠĠ Ġ} Ġas ĠT Ċ } ĊĊĊ Ċ fun ĠJSONObject . opt UL ong ( name : ĠString , Ġfallback : ĠU Long Ġ= Ġ 0 U ): ĠU Long Ġ= Ġopt String ( name ). to UL ong OrNull () Ġ?: Ġfallback Ċ fun ĠJSONObject . get UL ong ( name : ĠString ): ĠU Long Ġ= ĠgetString ( name ). to UL ong () Ċ fun ĠJSONObject . opt UInt ( name : ĠString , Ġfallback : ĠUInt Ġ= Ġ 0 U ): ĠUInt Ġ= Ġopt String ( name ). to UInt OrNull () Ġ?: Ġfallback Ċ fun ĠJSONObject . get UInt ( name : ĠString ): ĠUInt Ġ= ĠgetString ( name ). to UInt () Ċ fun ĠJSONObject . opt U Short ( name : ĠString , Ġfallback : ĠU Short Ġ= Ġ 0 U ): ĠU Short Ġ= Ġopt String ( name ). to U Short OrNull () Ġ?: Ġfallback Ċ fun ĠJSONObject . get U Short ( name : ĠString ): ĠU Short Ġ= ĠgetString ( name ). to U Short () Ċ fun ĠJSONObject . opt U Byte ( name : ĠString , Ġfallback : ĠU Byte Ġ= Ġ 0 U ): ĠU Byte Ġ= Ġopt String ( name ). to U Byte OrNull () Ġ?: Ġfallback Ċ fun ĠJSONObject . get U Byte ( name : ĠString ): ĠU Byte Ġ= ĠgetString ( name ). to U Byte () Ċ Ċ fun ĠJSONArray . opt UL ong ( index : ĠInt , Ġfallback : ĠU Long Ġ= Ġ 0 U ): ĠU Long Ġ= Ġopt String ( index ). to UL ong OrNull () Ġ?: Ġfallback Ċ fun ĠJSONArray . get UL ong ( index : ĠInt ): ĠU Long Ġ= ĠgetString ( index ). to UL ong () Ċ fun ĠJSONArray . opt UInt ( index : ĠInt , Ġfallback : ĠUInt Ġ= Ġ 0 U ): ĠUInt Ġ= Ġopt String ( index ). to UInt OrNull () Ġ?: Ġfallback Ċ fun ĠJSONArray . get UInt ( index : ĠInt ): ĠUInt Ġ= ĠgetString ( index ). to UInt () Ċ fun ĠJSONArray . opt U Short ( index : ĠInt , Ġfallback : ĠU Short Ġ= Ġ 0 U ): ĠU Short Ġ= Ġopt String ( index ). to U Short OrNull () Ġ?: Ġfallback Ċ fun ĠJSONArray . get U Short ( index : ĠInt ): ĠU Short Ġ= ĠgetString ( index ). to U Short () Ċ fun ĠJSONArray . opt U Byte ( index : ĠInt , Ġfallback : ĠU Byte Ġ= Ġ 0 U ): ĠU Byte Ġ= Ġopt String ( index ). to U Byte OrNull () Ġ?: Ġfallback Ċ fun ĠJSONArray . get U Byte ( index : ĠInt ): ĠU Byte Ġ= ĠgetString ( index ). to U Byte () ĊĊĊĊĊĊĊ