export global TimeString { pure function pad-mh(seconds: int, param: int) -> string { if seconds / param < 10 { return "0\{floor(seconds / param)}"; } return "\{floor(seconds / param)}"; } pure function pad-s(seconds: int) -> string { if mod(seconds, 60) < 10 { return "0\{mod(seconds, 60)}"; } return "\{mod(seconds, 60)}"; } public pure function from(seconds: int) -> string { return "\{pad-mh(seconds, 3600)}:\{pad-mh(mod(seconds, 3600), 60)}:\{pad-s(seconds)}"; } } export global Const { out property max-offset: 24 * 3600 - 1; }