<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def do_session_info(self, params):
 """ \x1b[1mNAME\x1b[0m session_info - Shows information about the current session \x1b[1mSYNOPSIS\x1b[0m session_info [match] \x1b[1mOPTIONS\x1b[0m * match: only include lines that match (default: '') \x1b[1mEXAMPLES\x1b[0m > session_info state=CONNECTED xid=4 last_zxid=0x000000505f8be5b3 timeout=10000 client=('127.0.0.1', 60348) server=('127.0.0.1', 2181) """

        fmt_str = """state=%s
sessionid=%s
auth_info=%s
protocol_version=%d
xid=%d
last_zxid=0x%.16x
timeout=%d
client=%s
server=%s
data_watches=%s
child_watches=%s"""
        content = fmt_str % (
        self._zk.client_state,
            self._zk.sessionid,
            list(self._zk.auth_data),
            self._zk.protocol_version,
            self._zk.xid,
            self._zk.last_zxid,
            self._zk.session_timeout,
            self._zk.client,
            self._zk.server,
            ",".join(self._zk.data_watches),
            ",".join(self._zk.child_watches)
        )

        output = get_matching(content, params.match)
        self.show_output(output)