package Ġorg . rd toolkit . support . interop Ċ Ċ import Ġandroid . content . Intent Ċ import Ġandroid . os . Bundle Ċ import Ġorg . rd toolkit . support . interop . R dt Intent Builder . Companion . INT ENT _ EXTRA _ R DT _ CONFIG _ B UNDLE Ċ import Ġorg . rd toolkit . support . interop . R dt Intent Builder . Companion . INT ENT _ EXTRA _ R DT _ SESSION _ ID Ċ import Ġorg . rd toolkit . support . model . Mapper Ċ import Ġorg . rd toolkit . support . model . session .* Ċ import Ġjava . util .* Ċ import Ġkotlin . collections . HashMap Ċ import Ġkotlin . collections . Map . Entry Ċ Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ PROV ISION _ MODE Ġ= Ġ" r dt _ config _ provision _ mode " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ PROV ISION _ MODE _ DATA Ġ= Ġ" r dt _ config _ provision _ mode _ data " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CLAS SI FIER _ MODE Ġ= Ġ" r dt _ config _ classifier _ mode " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ FL AV OR _ TEXT _ ONE Ġ= Ġ" r dt _ config _ flavor _ one " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ FL AV OR _ TEXT _ TWO Ġ= Ġ" r dt _ config _ flavor _ two " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ OUTPUT _ TRANSL ATOR _ SESSION Ġ= Ġ" r dt _ config _ translator _ session " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ OUTPUT _ TRANSL ATOR _ RESULT Ġ= Ġ" r dt _ config _ translator _ result " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ CLOUD WORK S _ DNS Ġ= Ġ" r dt _ config _ cloud works _ dns " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ CLOUD WORK S _ CONTEXT Ġ= Ġ" r dt _ config _ cloud works _ context " Ċ Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ SESSION _ TYPE Ġ= Ġ" r dt _ config _ session _ type " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ CONFIG _ FLAGS Ġ= Ġ" r dt _ config _ session _ flags " Ċ Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ SESSION _ STATE Ġ= Ġ" r dt _ session _ state " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ SESSION _ TEST _ PROFILE Ġ= Ġ" r dt _ session _ test _ profile " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ SESSION _ TIME _ STARTED Ġ= Ġ" r dt _ session _ time _ started " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ SESSION _ TIME _ RESOL VED Ġ= Ġ" r dt _ session _ time _ resolved " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ SESSION _ TIME _ EXPI RED Ġ= Ġ" r dt _ session _ time _ expired " Ċ Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ RESULT _ TIME _ READ Ġ= Ġ" r dt _ session _ result _ time _ read " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ RESULT _ RAW _ IMAGE _ PATH Ġ= Ġ" r dt _ session _ result _ raw _ image _ path " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ RESULT _ MAP Ġ= Ġ" r dt _ session _ result _ map " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ RESULT _ INTER PRE TER _ MAP Ġ= Ġ" r dt _ session _ result _ interpreter _ map " Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ RESULT _ I MAGES Ġ= Ġ" r dt _ session _ result _ extra _ images " Ċ Ċ const Ġval ĠINTENT _ EXTRA _ R DT _ RESULT _ B UNDLE Ġ= Ġ" r dt _ session _ result _ bundle " ĊĊ Ċ class ĠBundle To Configuration Ġ: ĠMapper < Bundle , ĠTest Session . Configuration > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠBundle ): ĠTest Session . Configuration Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Bundle Ġ= Ġinput . get Bundle ( INT ENT _ EXTRA _ R DT _ CONFIG _ FLAGS ) ĊĊĠĠĠĠĠĠĠ Ġvar Ġmap Ġ= ĠBundle ToString Map (). map ( map Bundle ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTest Session . Configuration ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSession Mode . valueOf ( input . getString ( INT ENT _ EXTRA _ R DT _ CONFIG _ SESSION _ TYPE ) !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠPro vision Mode . valueOf ( input . getString ( INT ENT _ EXTRA _ R DT _ PROV ISION _ MODE ) !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClass ifier Mode . valueOf ( input . getString ( INT ENT _ EXTRA _ R DT _ CLAS SI FIER _ MODE ) !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ PROV ISION _ MODE _ DATA ) !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ CONFIG _ FL AV OR _ TEXT _ ONE ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ CONFIG _ FL AV OR _ TEXT _ TWO ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ CONFIG _ OUTPUT _ TRANSL ATOR _ SESSION ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ CONFIG _ OUTPUT _ TRANSL ATOR _ RESULT ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ CONFIG _ CLOUD WORK S _ DNS ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ CONFIG _ CLOUD WORK S _ CONTEXT ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠConfiguration To Bundle Ġ: ĠMapper < Test Session . Configuration , ĠBundle > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠTest Session . Configuration ): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġb Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ PROV ISION _ MODE , Ġinput . provision Mode . name ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ PROV ISION _ MODE _ DATA , Ġinput . provision Mode Data ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CLAS SI FIER _ MODE , Ġinput . classifier Mode . name ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CONFIG _ FL AV OR _ TEXT _ ONE , Ġinput . flavor Text ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CONFIG _ FL AV OR _ TEXT _ TWO , Ġinput . flavor Text Two ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CONFIG _ SESSION _ TYPE , Ġinput . session Type . name ) ĊĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CONFIG _ OUTPUT _ TRANSL ATOR _ SESSION , Ġinput . output Session Translator Id ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CONFIG _ OUTPUT _ TRANSL ATOR _ RESULT , Ġinput . output Result Translator Id ) ĊĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CONFIG _ CLOUD WORK S _ DNS , Ġinput . cloud works Dns ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ CONFIG _ CLOUD WORK S _ CONTEXT , Ġinput . cloud works Context ) ĊĊĠĠĠĠĠĠĠ Ġb . put Bundle ( INT ENT _ EXTRA _ R DT _ CONFIG _ FLAGS , ĠString Map To Bundle (). map ( input . flags )) ĊĠĠĠĠĠĠĠ Ġreturn Ġb ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠBundle To Result Ġ: ĠMapper < Bundle , ĠTest Session . TestResult > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠBundle ): ĠTest Session . TestResult Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġmap Bundle Ġ= Ġinput . get Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ MAP ) ĊĠĠĠĠĠĠĠ Ġval Ġinterpreter Bundle Ġ= Ġinput . get Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ INTER PRE TER _ MAP ) ĊĠĠĠĠĠĠĠ Ġval Ġextra Images Ġ= Ġinput . get Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ I MAGES ) ĊĊĠĠĠĠĠĠĠ Ġreturn ĠTest Session . TestResult ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate ( input . getLong ( INT ENT _ EXTRA _ R DT _ RESULT _ TIME _ READ )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ RESULT _ RAW _ IMAGE _ PATH ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Map From Bundle ( extra Images ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Map From Bundle ( map Bundle ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġget Map From Bundle ( interpreter Bundle ) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Map From Bundle ( bundle Ġ: ĠBundle ?) Ġ: ĠHashMap < String , String > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmap Ġ= ĠHashMap < String , String >() ĊĊĠĠĠĠĠĠĠ Ġif Ġ Ġ( bundle Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( k Ġin Ġbundle . keySet ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put ( k , Ġbundle . getString ( k ) !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠResult To Bundle ( private Ġval ĠfilePath Wrapper Ġ: ĠFilePath Mapper Ġ= ĠFilePath Mapper ()) Ġ: ĠMapper < Test Session . TestResult , ĠBundle > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠTest Session . TestResult ): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġb Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġb . put Long ( INT ENT _ EXTRA _ R DT _ RESULT _ TIME _ READ , Ġinput . time Read !!. time ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ RESULT _ RAW _ IMAGE _ PATH , ĠfilePath Wrapper . map ( input . main Image )) ĊĊĠĠĠĠĠĠĠ Ġb . put Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ I MAGES , Ġget Bundle From Map ( input . images . map Values Ġ{ Ġe Ġ-> ĠfilePath Wrapper . map ( e . value ) !! Ġ})) ĊĊĠĠĠĠĠĠĠ Ġb . put Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ MAP , Ġget Bundle From Map ( input . results )) ĊĠĠĠĠĠĠĠ Ġb . put Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ INTER PRE TER _ MAP , Ġget Bundle From Map ( input . classifier Results )) ĊĠĠĠĠĠĠĠ Ġreturn Ġb ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġget Bundle From Map ( input Map Ġ: ĠMap < String , ĠString >) Ġ: ĠBundle Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmap Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġfor Ġ( k Ġin Ġinput Map ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . putString ( k . key , Ġk . value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ class ĠSession To Bundle ( val ĠfilePath Wrapper Ġ: ĠFilePath Mapper Ġ= ĠFilePath Mapper ()) Ġ: ĠMapper < Test Session , ĠBundle > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠTest Session ): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġb Ġ= ĠBundle () ĊĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ SESSION _ ID , Ġinput . sessionId ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ SESSION _ STATE , Ġinput . state . name ) ĊĠĠĠĠĠĠĠ Ġb . putString ( INT ENT _ EXTRA _ R DT _ SESSION _ TEST _ PROFILE , Ġinput . test Profile Id ) ĊĠĠĠĠĠĠĠ Ġb . put Bundle ( INT ENT _ EXTRA _ R DT _ CONFIG _ B UNDLE , ĠConfiguration To Bundle (). map ( input . configuration )) ĊĠĠĠĠĠĠĠ Ġb . put Long ( INT ENT _ EXTRA _ R DT _ SESSION _ TIME _ STARTED , Ġinput . time Started . time ) ĊĠĠĠĠĠĠĠ Ġb . put Long ( INT ENT _ EXTRA _ R DT _ SESSION _ TIME _ RESOL VED , Ġinput . time Resolved . time ) ĊĠĠĠĠĠĠĠ Ġinput . time Expired ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb . put Long ( INT ENT _ EXTRA _ R DT _ SESSION _ TIME _ EXPI RED , Ġit . time ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġinput . result ?. let { ĊĠĠĠĠĠĠĠĠĠĠĠ Ġb . put Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ B UNDLE , ĠResult To Bundle ( filePath Wrapper ). map ( it ))} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġb ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ /** Ċ Ġ* ĠNOTE Ġ- ĠDoes ĠNOT Ġcontain Ġconfiguration Ġinformation Ċ Ġ*/ Ċ class ĠBundle To Session Ġ: ĠMapper < Bundle , ĠTest Session > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠBundle ): ĠTest Session Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠTest Session ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ SESSION _ ID ) !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠSTATUS . valueOf ( input . getString ( INT ENT _ EXTRA _ R DT _ SESSION _ STATE ) !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . getString ( INT ENT _ EXTRA _ R DT _ SESSION _ TEST _ PROFILE ) !! , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠBundle To Configuration (). map ( input . get Bundle ( INT ENT _ EXTRA _ R DT _ CONFIG _ B UNDLE ) !! ), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate ( input . getLong ( INT ENT _ EXTRA _ R DT _ SESSION _ TIME _ STARTED )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠDate ( input . getLong ( INT ENT _ EXTRA _ R DT _ SESSION _ TIME _ RESOL VED )), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . get ( INT ENT _ EXTRA _ R DT _ SESSION _ TIME _ EXPI RED )?. let Ġ{ ĠDate ( input . getLong ( INT ENT _ EXTRA _ R DT _ SESSION _ TIME _ EXPI RED )) }, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġinput . get Bundle ( INT ENT _ EXTRA _ R DT _ RESULT _ B UNDLE )?. let Ġ{ ĠBundle To Result (). map ( it ) Ġ}, ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠTest Session . Metrics ( HashMap ()) ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠString Map To Bundle Ġ: ĠMapper < Map < String , ĠString >, ĠBundle > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠMap < String , ĠString >): ĠBundle Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġmap Ġ= ĠBundle () ĊĠĠĠĠĠĠĠ Ġfor Ġ( k Ġin Ġinput ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmap . putString ( k . key , Ġk . value ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} Ċ } Ċ Ċ open Ġclass ĠFilePath Mapper Ġ: ĠMapper < String ?, String ?> Ġ{ ĊĠĠĠ Ġval Ġoutputs Ġ= Ġmutable ListOf < String >() ĊĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠString ?): ĠString ? Ġ{ ĊĠĠĠĠĠĠĠ Ġinput ?. let Ġ{ Ġoutputs . add ( input ) Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġinput ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġopen Ġfun Ġprepare ( intent : ĠIntent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Placeholder ĊĠĠĠ Ġ} Ċ } Ċ Ċ interface ĠKey Qualifier Ġ{ ĊĠĠĠ Ġfun Ġis Key Qualified ( key : ĠString ) Ġ: ĠBoolean Ċ } Ċ Ċ class ĠAll Key Qualifier () Ġ: ĠKey Qualifier Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġis Key Qualified ( key : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } ĊĊ Ċ class ĠFixed Set Key Qualifier ( val Ġkeys Ġ: ĠCollection < String >) Ġ: ĠKey Qualifier Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġis Key Qualified ( key : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkeys . contains ( key ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠPrefix Key Qualifier ( val Ġprefix Ġ: ĠString ) Ġ: ĠKey Qualifier Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġis Key Qualified ( key : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġkey . startsWith ( prefix ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ class ĠBundle ToString Map ( private Ġval Ġqualifier Ġ: ĠKey Qualifier Ġ= ĠAll Key Qualifier ()) ĊĠĠĠ Ġ: ĠMapper < Bundle ?, ĠMap < String , ĠString >> Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġmap ( input : ĠBundle ?): ĠMap < String , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( input Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠHashMap () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġmap Ġ= ĠHashMap < String , String >() ĊĊĠĠĠĠĠĠĠ Ġif Ġ Ġ( input Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( k Ġin Ġinput . keySet ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( qual ifier . is Key Qualified ( k )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap . put ( k , Ġinput . getString ( k ) !! ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġmap ĊĠĠĠ Ġ} Ċ Ċ }