package Ġcn . edu . k must . fl st . service . util Ċ Ċ import Ġjava . time . LocalDateTime Ċ import Ġjava . time . format . DateTime Formatter Ċ import Ġjava . util .* Ċ Ċ /** Ċ Ġ* ĠCreated Ġby Ġz be boy Ġ 2 0 1 7 - 1 1 - 3 0 Ġ. Ċ Ġ**/ Ċ class ĠIP TimeStamp ( ip : ĠString ) Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġip : ĠString ? Ġ= Ġip ĊĊĠĠĠ Ġfun Ġget IP Time Rand (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbuf Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġif Ġ( this . ip Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġs Ġ= Ġthis . ip !!. split ("\\ .". to Regex ()). drop Last While Ġ{ Ġit . isEmpty () Ġ}. to Typed Array () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( value Ġin Ġs ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . append ( this . add Zero ( value , Ġ 3 )) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġbuf . append ( this . getTime Stamp ()) ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= ĠRandom () ĊĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 0 .. 2 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuf . append ( r . nextInt ( 1 0 )) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġbuf . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġadd Zero ( str : ĠString , Ġlen : ĠInt ): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġs Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġs . append ( str ) ĊĠĠĠĠĠĠĠ Ġwhile Ġ( s . length Ġ< Ġlen ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġs . insert ( 0 , Ġ" 0 ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn Ġs . toString () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġget TimeStamp (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠLocalDateTime . now (). format ( DateTime Formatter . of Pattern (" yyyy MM dd HH mm ss SS S ")) ĊĠĠĠ Ġ} Ċ }