package Ġcom . kas per sky . test _ server Ċ Ċ import Ġcom . k asp res ky . test _ server . log . LoggerFactory Ċ Ċ internal Ġfun Ġmain ( args : ĠArray < String >) Ġ{ ĊĠĠĠ Ġval Ġargs List Ġ= Ġargs . toList () ĊĠĠĠ Ġval Ġem ulators Ġ= Ġargs List ĊĠĠĠĠĠĠĠ Ġ. first OrNull Ġ{ Ġarg Ġ-> Ġarg . contains (" em ulators ") Ġ} ĊĠĠĠĠĠĠĠ Ġ? . remove Sur rounding ( prefix Ġ= Ġ" em ulators ", Ġsuffix Ġ= Ġ"") ĊĠĠĠĠĠĠĠ Ġ? . replace (" =", Ġ"") ĊĠĠĠĠĠĠĠ Ġ? . split (",") ĊĠĠĠĠĠĠĠ Ġ? . map Ġ{ Ġit . trim () Ġ} ĊĠĠĠĠĠĠĠ Ġ? . filter Ġ{ Ġit . isNotEmpty () Ġ} ĊĠĠĠĠĠĠĠ Ġ?: ĠlistOf () ĊĠĠĠ Ġval Ġa db Server Port Ġ= Ġargs List ĊĠĠĠĠĠĠĠ Ġ. first OrNull Ġ{ Ġarg Ġ-> Ġarg . contains (" adb Server Port ") Ġ} ĊĠĠĠĠĠĠĠ Ġ? . remove Sur rounding ( prefix Ġ= Ġ" adb Server Port ", Ġsuffix Ġ= Ġ"") ĊĠĠĠĠĠĠĠ Ġ? . replace (" =", Ġ"") ĊĠĠĠĠĠĠĠ Ġ? . trim () ĊĊĠĠĠ Ġval Ġlogger Ġ= ĠLoggerFactory . system Logger () ĊĠĠĠ Ġlogger . i (" MAIN ", Ġ" arguments : Ġem ulators =$ em ulators , Ġa db Server Port =$ adb Server Port ") ĊĊĠĠĠ Ġval Ġcmd Command Perform er Ġ= ĠCmd Command Perform er () ĊĠĠĠ Ġval Ġdesktop Ġ= ĠDesktop ( ĊĠĠĠĠĠĠĠ Ġcmd Command Perform er Ġ= Ġcmd Command Perform er , ĊĠĠĠĠĠĠĠ Ġpreset E mul ators Ġ= Ġem ulators , ĊĠĠĠĠĠĠĠ Ġa db Server Port Ġ= Ġa db Server Port , ĊĠĠĠĠĠĠĠ Ġlogger Ġ= Ġlogger ĊĠĠĠ Ġ) ĊĠĠĠ Ġdesktop . start Devices Ob serving () Ċ }