package Ġcom . github . bad ou aly . telegram . m tp roto . tl . auth Ċ Ċ import Ġcom . github . bad ou aly . telegram . tl . Stream Utils .* Ċ import Ġcom . github . bad ou aly . telegram . tl . TL Context Ċ import Ġcom . github . bad ou aly . telegram . tl . core . TL Method Ċ import Ġcom . github . bad ou aly . telegram . tl . exception . Deserialization Exception Ċ import Ġjava . io . IOException Ċ import Ġjava . io . InputStream Ċ import Ġjava . io . OutputStream Ċ Ċ class ĠReq Set Dh Client Params Ġ@ Jvm Over loads Ġconstructor ( var Ġnonce : ĠByteArray Ġ= ĠByteArray ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġserver Nonce : ĠByteArray Ġ= ĠByteArray ( 0 ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġencrypted : ĠByteArray Ġ= ĠByteArray ( 0 )) Ġ: ĠTL Method < Dh Gen Result >() Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġget Constructor Id (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠCON STRUCTOR _ ID ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġserialize Body ( stream : ĠOutputStream ) Ġ{ ĊĠĠĠĠĠĠĠ Ġwrite ByteArray ( nonce , Ġstream ) ĊĠĠĠĠĠĠĠ Ġwrite ByteArray ( server Nonce , Ġstream ) ĊĠĠĠĠĠĠĠ Ġwrite TL Bytes ( encrypted , Ġstream ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġdeserialize Body ( stream : ĠInputStream , Ġcontext : ĠTL Context ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnonce Ġ= Ġread Bytes ( 1 6 , Ġstream ) ĊĠĠĠĠĠĠĠ Ġserver Nonce Ġ= Ġread Bytes ( 1 6 , Ġstream ) ĊĠĠĠĠĠĠĠ Ġencrypted Ġ= Ġread TL Bytes ( stream ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ@ Throws ( IOException :: class ) ĊĠĠĠ Ġoverride Ġfun Ġdeserialize Response ( stream : ĠInputStream , Ġcontext : ĠTL Context ): ĠD h Gen Result Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġresponse Ġ= Ġcontext . deserialize Message ( stream ) Ġ?: Ġthrow ĠDeserial ization Exception (" Unable Ġto Ġdeserialize Ġresponse ") ĊĠĠĠĠĠĠĠ Ġif Ġ( response Ġ! is ĠD h Gen Result ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠDeserial ization Exception (" Response Ġhas Ġincorrect Ġtype ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġresponse ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠtoString (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġ" set _ client _ DH _ params # f 5 0 4 5 f 1 f " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Jvm Field ĊĠĠĠĠĠĠĠ Ġval ĠCON STRUCTOR _ ID Ġ= Ġ- 1 8 4 2 6 2 8 8 1 ĊĠĠĠ Ġ} Ċ }