package Ġtypes Ċ Ċ import Ġcontext . IC ommand Context Ċ Ċ internal Ġabstract Ġclass ĠNumber Resolver < T Ġ: ĠNumber > Ġ: ĠI Type Resolver < T > Ġ{ ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġread ( context : ĠICommand Context , Ġinput : ĠString ): ĠT Ġ= ĊĠĠĠĠĠĠĠ Ġread With Null s ( input ) Ġ?: Ġthrow ĠIllegalArgumentException (" ÐĴ Ð²ÐµÐ´ ÐµÐ½ Ð½Ð¾Ðµ ĠÐ·Ð½Ð°ÑĩÐµÐ½Ð¸Ðµ ĠÐ½Ðµ ĠÑı Ð²Ð»Ñı ÐµÑĤÑģÑı ĠÑĩ Ð¸Ñģ Ð» Ð¾Ð¼ !") ĊĊĠĠĠ Ġabstract Ġfun Ġread With Null s ( input : ĠString ): ĠT ? Ċ } Ċ Ċ internal Ġclass ĠInt Resolver Ġ: ĠNumber Resolver < Int >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread With Null s ( input : ĠString ): ĠInt ? Ġ= Ġinput . toInt OrNull () Ċ } Ċ Ċ internal Ġclass ĠLong Resolver Ġ: ĠNumber Resolver < Long >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread With Null s ( input : ĠString ): ĠLong ? Ġ= Ġinput . to Long OrNull () Ċ } Ċ Ċ internal Ġclass ĠFloat Resolver Ġ: ĠNumber Resolver < Float >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread With Null s ( input : ĠString ): ĠFloat ? Ġ= Ġinput . toFloat OrNull () Ċ } Ċ Ċ internal Ġclass ĠShort Resolver Ġ: ĠNumber Resolver < Short >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread With Null s ( input : ĠString ): ĠShort ? Ġ= Ġinput . to Short OrNull () Ċ } Ċ Ċ internal Ġclass ĠByte Resolver Ġ: ĠNumber Resolver < Byte >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread With Null s ( input : ĠString ): ĠByte ? Ġ= Ġinput . to Byte OrNull () Ċ } Ċ Ċ internal Ġclass ĠDouble Resolver Ġ: ĠNumber Resolver < Double >() Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġread With Null s ( input : ĠString ): ĠDouble ? Ġ= Ġinput . toDouble OrNull () Ċ }