PHQPLJUQZOYZ7B3IDADDANMVXLKIKTU5DRSSEWTSDYCSDKX7M7JAC
HIH47LNBDXHB2PU2HPPG47IBX5QKJXB74G2SZ5B3ZUYYPTYR3TYAC
HYEAFRZ2UEKDYTAE2GDQLHEJBPQASP2NDLMXB7F6MTVK2BKOXKEAC
BULPIBEGL7TMK6CVIE7IS7WGAHGOSUJBGJSFQK542MOWGHP2ADQQC
function Text.move_cursor(line_index, line, x)
function Text.move_cursor(line_index, line, mx)
Cursor_pos = Text.nearest_cursor_pos(line.data, x)
Cursor_pos = Text.nearest_cursor_pos(line.data, mx)