package Ġchat . sphinx . feature _ link _ preview . util Ċ Ċ import Ġorg . js oup . nodes . Document Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ internal Ġinline Ġfun ĠDocument . getTitle (): ĠString ? Ġ{ ĊĠĠĠ Ġtitle (). let Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġhead (). select First (" meta [ property = og : title ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ internal Ġinline Ġfun ĠDocument . getDescription (): ĠString ? Ġ{ ĊĠĠĠ Ġhead (). select First (" meta [ property = description ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġhead (). select First (" meta [ property = og : description ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġit ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ internal Ġinline Ġfun ĠDocument . getImage Url (): ĠString ? Ġ{ ĊĠĠĠ Ġhead (). select First (" meta [ property = og : image : secure _ url ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcanonical Url ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġhead (). select First (" meta [ property = og : image : url ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcanonical Url ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġhead (). select First (" meta [ property = og : image ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcanonical Url ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ internal Ġinline Ġfun ĠDocument . getF av Icon Url (): ĠString ? Ġ{ ĊĠĠĠ Ġhead (). select First (" link [ rel = icon ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcanonical Url ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġhead (). select First (" link [ rel = shortcut Ġicon ]") ?. let Ġ{ Ġelement Ġ-> ĊĠĠĠĠĠĠĠ Ġelement . attr (" content "). let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( it . isNotEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġcanonical Url ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġnull Ċ } Ċ Ċ @ Suppress (" NOTH ING _ TO _ INLINE ") Ċ internal Ġinline Ġfun ĠDocument . canonical Url ( url : ĠString ?): ĠString ? Ġ{ ĊĠĠĠ Ġreturn Ġurl ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( it . startsWith (" http ")) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġit ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ base Uri ()} $ it " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ