package Ġcom . github . dur un . nit ron . core . config . loader Ċ Ċ import Ġcom . github . dur un . nit ron . core . config . Config With Dir Ċ import Ġkotlinx . serialization . K Serializer Ċ import Ġkotlinx . serialization . json . Json Ċ import Ġjava . io . Reader Ċ import Ġjava . net . URI Ċ Ċ class ĠK Serialization Config Loader < C Ġ: ĠConfig With Dir >( ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġserializer : ĠK Serializer < C > Ċ ) Ġ: ĠConfig Loader < C > Ġ{ ĊĠĠĠ Ġval Ġjson Ġ= ĠJson Ġ{ ĊĠĠĠĠĠĠĠ Ġignore Unknown Keys Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġclass Discriminator Ġ= Ġ" type " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġload ( uri : ĠURI , Ġreader : ĠReader ): ĠC Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġjson String Ġ= Ġreader . read Text () ĊĠĠĠĠĠĠĠ Ġval Ġconfig Ġ= Ġjson . decode FromString ( serializer , Ġjson String ) ĊĠĠĠĠĠĠĠ Ġconfig . uri Ġ= Ġuri ĊĠĠĠĠĠĠĠ Ġreturn Ġconfig ĊĠĠĠ Ġ} Ċ }