package Ġmo e . nik ky . cur se proxy Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġn ik ky Ġon Ġ 0 1 / 0 5 / 1 8 . Ċ Ġ* Ġ@ author ĠNik ky Ċ Ġ* Ġ@ version Ġ 1 . 0 Ċ Ġ*/ Ċ Ċ object ĠVersion Comparator Ġ: ĠComparator < String > Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcompare ( o 1 : ĠString , Ġo 2 : ĠString ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġv 1 Ġ= Ġo 1 . split (".") ĊĠĠĠĠĠĠĠ Ġval Ġv 2 Ġ= Ġo 2 . split (".") ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpart 1 Ġ= Ġv 1 . get OrNull ( i ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpart 2 Ġ= Ġv 2 . get OrNull ( i ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( part 1 Ġ== Ġnull Ġ&& Ġpart 2 Ġ== Ġnull ) Ġreturn Ġ 0 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion 1 Ġ= Ġpart 1 ?. toInt OrNull () Ġ?: Ġreturn Ġ- 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġversion 2 Ġ= Ġpart 2 ?. toInt OrNull () Ġ?: Ġreturn Ġ 1 ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( version 1 Ġ!= Ġversion 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġversion 1 . compareTo ( version 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ Ċ }