package Ġma ia . util Ċ Ċ /* Ċ Ġ* ĠUtilities Ġfor Ġworking Ġwith Ġstrings . Ċ Ġ*/ Ċ Ċ /** Ċ Ġ* ĠReturns Ġthe Ġgiven Ġstring Ġrepeated Ġthe Ġgiven Ġnumber Ċ Ġ* Ġof Ġtimes . Ċ Ġ* Ċ Ġ* Ġ@ param Ġstring Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġstring Ġto Ġrepeat . Ċ Ġ* Ġ@ param Ġtimes Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġnumber Ġof Ġtimes Ġto Ġrepeat Ġthe Ġstring . Ċ Ġ* Ġ@ return Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġrepet itive Ġstring . Ċ Ġ*/ Ċ inline Ġfun Ġrepeat String ( string : ĠString , Ġtimes : ĠInt ): ĠString Ġ{ ĊĠĠĠ Ġ// ĠIf Ġrepe ating Ġzero Ġtimes , Ġthe Ġresult Ġis Ġalways Ġthe Ġempty Ġstring ĊĠĠĠ Ġif Ġ( times Ġ== Ġ 0 ) Ġreturn Ġ"" ĊĊĠĠĠ Ġrequire ( times Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" Can 't Ġrepeat Ġa Ġstring Ġa Ġnegative Ġnumber Ġof Ġtimes Ġ(${ times })" ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ// ĠThe Ġempty Ġstring Ġrepeated Ġany Ġnumber Ġof Ġtimes Ġis Ġthe Ġempty Ġstring ĊĠĠĠ Ġif Ġ( string Ġ== Ġ"") Ġreturn Ġ"" ĊĊĠĠĠ Ġrequire ( times Ġ<= ĠInt . MAX _ VALUE Ġ/ Ġstring . length ) Ġ{ ĊĠĠĠĠĠĠĠ Ġ" Repe ating Ġ'${ string }' Ġ$ times Ġtimes Ġwould Ġoverflow Ġthe Ġresulting Ġstring " ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġreturn Ġbuild String ( string . length Ġ* Ġtimes ) Ġ{ ĊĠĠĠĠĠĠĠ Ġrepeat ( times ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġappend ( string ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ /** Ċ Ġ* ĠExtension Ġfunction Ġwhich Ġdefines Ġstring - multip lication Ċ Ġ* Ġin Ġthe ĠPython Ġway Ġ( the Ġsame Ġstring Ġrepeated Ġthe Ġgiven Ċ Ġ* Ġnumber Ġof Ġtimes ). Ċ Ġ* Ċ Ġ* Ġ@ receiver Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġstring Ġto Ġrepeat . Ċ Ġ* Ġ@ param Ġtimes Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġnumber Ġof Ġtimes Ġto Ġrepeat Ġthe Ġstring . Ċ Ġ* Ġ@ return Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġrepet itive Ġstring . Ċ Ġ*/ Ċ inline Ġoperator Ġfun ĠString . times ( times Ġ: ĠInt ) Ġ: ĠString Ġ= Ġrepeat String ( this , Ġtimes ) Ċ Ċ /** Ċ Ġ* ĠExtension Ġfunction Ġwhich Ġdefines Ġstring - multip lication Ċ Ġ* Ġin Ġthe ĠPython Ġway Ġ( the Ġsame Ġstring Ġrepeated Ġthe Ġgiven Ċ Ġ* Ġnumber Ġof Ġtimes ). Ċ Ġ* Ċ Ġ* Ġ@ receiver Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġnumber Ġof Ġtimes Ġto Ġrepeat Ġthe Ġstring . Ċ Ġ* Ġ@ param Ġstring Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġstring Ġto Ġrepeat . Ċ Ġ* Ġ@ return Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġrepet itive Ġstring . Ċ Ġ*/ Ċ inline Ġoperator Ġfun ĠInt . times ( string Ġ: ĠString ) Ġ: ĠString Ġ= Ġrepeat String ( string , Ġthis ) Ċ Ċ /** Ċ Ġ* ĠInd ents Ġa Ġstring . Ċ Ġ* Ċ Ġ* Ġ@ receiver Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġstring Ġto Ġindent . Ċ Ġ* Ġ@ param Ġamount Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġnumber Ġof Ġtimes Ġto Ġindent . Ċ Ġ* Ġ@ param Ġindentation Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġstring Ġto Ġuse Ġto Ġindent Ġwith . Ċ Ġ* Ġ@ return Ċ Ġ* ĠĠĠĠĠĠĠĠĠ ĠThe Ġindent ed Ġstring . Ċ Ġ*/ Ċ fun ĠString . indent ( amount Ġ: ĠInt Ġ= Ġ 1 , Ġindentation Ġ: ĠString Ġ= Ġ" Ġ") Ġ: ĠString Ġ{ ĊĠĠĠ Ġval Ġfinal Indent ation Ġ= Ġrepeat String ( indentation , Ġamount ) ĊĠĠĠ Ġreturn Ġsplit ("\ n "). join ToString ("\ n ") Ġ{ ĊĠĠĠĠĠĠĠ Ġfinal Indent ation Ġ+ Ġit ĊĠĠĠ Ġ} Ċ } Ċ