package Ġcom . github . bad ou aly . telegram . m tp roto . util Ċ Ċ import Ġcom . github . bad ou aly . telegram . tl . api .* Ċ import Ġcom . github . bad ou aly . telegram . tl . core . TL Bytes Ċ Ċ fun ĠTL Abs Message Media . getLocation (): ĠTL Geo Point ? Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠTL Message Media Geo Ġ-> Ġif Ġ( geo Ġis ĠTL Geo Point ) Ġgeo Ġas ĠTL Geo Point Ġelse Ġnull ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Message Media Geo . getLocation (): ĠTL Geo Point ? Ġ= Ġwhen Ġ( geo ) Ġ{ ĊĠĠĠ Ġis ĠTL Geo Point Ġ-> Ġgeo Ġas ĠTL Geo Point ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Abs Message Media . get Abs Media Input () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠTL Message Media Contact Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Document Ġ-> Ġget Media Input () ĊĠĠĠ Ġis ĠTL Message Media Empty Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Geo Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Photo Ġ-> Ġget Media Input () ĊĠĠĠ Ġis ĠTL Message Media Unsupported Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Venue Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Web Page Ġ-> Ġget Media Input () ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Abs Message Media . get Abs Media Thumbnail Input () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠTL Message Media Contact Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Document Ġ-> Ġget Media Thumbnail Input () ĊĠĠĠ Ġis ĠTL Message Media Empty Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Geo Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Photo Ġ-> Ġget Media Thumbnail Input () ĊĠĠĠ Ġis ĠTL Message Media Unsupported Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Venue Ġ-> Ġnull Ġ// Ġnothing Ġto Ġdownload ĊĠĠĠ Ġis ĠTL Message Media Web Page Ġ-> Ġget Media Thumbnail Input () ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Message Media Document . get Media Input () Ġ= Ġwhen Ġ( document ) Ġ{ ĊĠĠĠ Ġis ĠTL Document Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġdocument Ġ= Ġdocument Ġas ĠTL Document ĊĠĠĠĠĠĠĠ Ġval Ġinput File Location Ġ= ĠInput File Location ( TL Input Document File Location ( document . id , Ġ( document . access Hash )), Ġdocument . dc Id ) ĊĠĠĠĠĠĠĠ ĠMedia Input ( inputFile Location , Ġdocument . size , Ġdocument . mime Type ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Message Media Document . get Media Thumbnail Input () Ġ= Ġwhen Ġ( document ) Ġ{ ĊĠĠĠ Ġis ĠTL Document Ġ-> Ġ( document Ġas ĠTL Document ). thumb . get Media Input () ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Message Media Photo . get Media Input () Ġ= Ġwhen Ġ( photo ) Ġ{ ĊĠĠĠ Ġis ĠTL Photo Ġ-> Ġ( photo Ġas ĠTL Photo ). sizes . getMax Size ()?. get Media Input () ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Message Media Photo . get Media Thumbnail Input () Ġ= Ġwhen Ġ( photo ) Ġ{ ĊĠĠĠ Ġis ĠTL Photo Ġ-> Ġ( photo Ġas ĠTL Photo ). sizes . getMin Size ()?. get Media Input () ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Message Media Web Page . get Media Input () Ġ= Ġwhen Ġ( web page ) Ġ{ ĊĠĠĠ Ġis ĠTL Web Page Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġphoto Ġ= Ġ( web page Ġas ĠTL Web Page ). photo ĊĠĠĠĠĠĠĠ Ġif Ġ( photo Ġis ĠTL Photo ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto . sizes . getMax Size ()?. get Media Input () ĊĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Message Media Web Page . get Media Thumbnail Input () Ġ= Ġwhen Ġ( web page ) Ġ{ ĊĠĠĠ Ġis ĠTL Web Page Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġphoto Ġ= Ġ( web page Ġas ĠTL Web Page ). photo ĊĠĠĠĠĠĠĠ Ġif Ġ( photo Ġis ĠTL Photo ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphoto . sizes . getMin Size ()?. get Media Input () ĊĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠTL Abs Photo Size ?. get Media Input () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠTL Photo Size Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput File Location Ġ= Ġlocation . to Input File Location () ĊĠĠĠĠĠĠĠ Ġif Ġ( inputFile Location Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Input ( inputFile Location , Ġsize , Ġ" image / jpeg ") ĊĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġis ĠTL Photo Cached Size Ġ-> Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġinput File Location Ġ= Ġlocation . to Input File Location () ĊĠĠĠĠĠĠĠ Ġif Ġ( inputFile Location Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMedia Input ( inputFile Location , Ġbytes . length , Ġ" image / jpeg ", Ġbytes ) ĊĠĠĠĠĠĠĠ Ġelse Ġnull ĊĠĠĠ Ġ} ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ fun ĠCollection < TL Abs Photo Size > ?. getMax Size (): ĠTL Abs Photo Size ? Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull Ġ|| ĠisEmpty ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĊĠĠĠ Ġval ĠmaxSize Ġ= Ġfilter Is Instance < TL Photo Size >(). sorted By Descending Ġ{ Ġit . w Ġ* Ġit . h Ġ}. first OrNull () ĊĠĠĠ Ġif Ġ( maxSize Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġreturn ĠmaxSize ĊĊĠĠĠ Ġ// ĠNo ĠTL Photo Size , Ġlook Ġfor Ġcached Ġsize ĊĠĠĠ Ġreturn Ġfilter Is Instance < TL Photo Cached Size >(). first OrNull () Ċ } Ċ Ċ fun ĠCollection < TL Abs Photo Size > ?. getMin Size (): ĠTL Abs Photo Size ? Ġ{ ĊĠĠĠ Ġif Ġ( this Ġ== Ġnull Ġ|| ĠisEmpty ()) ĊĠĠĠĠĠĠĠ Ġreturn Ġnull ĊĊĠĠĠ Ġ// ĠLook Ġfor Ġcached Ġsize ĊĠĠĠ Ġval Ġmin Size Ġ= Ġfilter Is Instance < TL Photo Cached Size >(). first OrNull () ĊĠĠĠ Ġif Ġ( min Size Ġ!= Ġnull ) ĊĠĠĠĠĠĠĠ Ġreturn Ġmin Size ĊĊĠĠĠ Ġreturn Ġfilter Is Instance < TL Photo Size >(). sorted By Ġ{ Ġit . w Ġ* Ġit . h Ġ}. first OrNull () Ċ } Ċ Ċ fun ĠTL Abs File Location . to Input File Location () Ġ= Ġwhen Ġ( this ) Ġ{ ĊĠĠĠ Ġis ĠTL File Location Ġ-> ĠInput File Location ( TL Input File Location ( volume Id , Ġlocal Id , Ġsecret ), Ġdc Id ) ĊĠĠĠ Ġis ĠTL File Location Unavailable Ġ-> Ġnull ĊĠĠĠ Ġelse Ġ-> Ġnull Ċ } Ċ Ċ data Ġclass ĠMedia Input ( val Ġinput File Location : ĠInput File Location , Ġval Ġsize : ĠInt , Ġval ĠmimeType : ĠString , Ġval Ġcached : ĠTL Bytes ? Ġ= Ġnull ) Ċ data Ġclass ĠInput File Location ( val Ġinput File Location : ĠTL Abs Input File Location , Ġval Ġdc Id : ĠInt )