#ifndef __HTreeRec_h
#define __HTreeRec_h

#include "DbLock.h"		// For FCDbReadLock.

/*************************************************************************
 *
 *            m_ptRoot
 *             _xZkqqHx_iEkA_xHqqkZx_
 *             _xZkqqHx_iBkL_xHqqkZx_
 *              _xZkqqHx_iEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                          _xZkqqHx_iEkL_xHqqkZx_
 *       GetHtBoxWidthL()   _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iBkIiEkJiEjPiEjPiEjPiElHiBkJ_xHqqkZx_
 *                  _xZkqqHx_iEkA_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iBkK_xHqqkZx_              _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_     m_ptBox          _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkLiEkAiEkL_xHqqkZx_  GetHtInterLineX()
 *                        _xZkqqHx_iEkLiEkFiBkJiEjPiEjPiEjPiEjPiEjPiBkIiEkH_xHqqkZx_
 *                        _xZkqqHx_iEkLiEkAiEkL_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *                        _xZkqqHx_iEkLiBeFiElAiEkKiEkKiEkKiEkKiEkKiEkKiEkNiEjPiEkG_xHqqkZx_
 *                        _xZkqqHx_iEkLiBkKiEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iBkK_xHqqkZx_
 *             m_ptRoot _xZkqqHx_iEjPiElOiEkDiEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_ GetHtBoxIntroY()
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiElIiEkKiEkKiEkKiEkKiEkKiEkNiEjPiEkG_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iBkK_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_GetHistBoxSize().cy
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_
 *                      _xZkqqHx_iEkMiEkO_xHqqkZx_  _xZkqqHx_iEkPiEkN_xHqqkZx_  _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkOiEjPiEkI_xHqqkZx_
 *                       _xZkqqHx_iBfP_xHqqkZx_    _xZkqqHx_iBfO_xHqqkZx_   _xZkqqHx_iEkA_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *                         _xZkqqHx_iBfPiBfO_xHqqkZx_     _xZkqqHx_iEkFiBkJiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiEjPiBkIiEkH_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_ GetHistBoxSize().cx
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_ GetHtIntroGapY()
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iBkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iElAiEkKiEkKiElJiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_                    _xZkqqHx_iEkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_                    _xZkqqHx_iEkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iElAiEkKiEkKiElJiEkKiEkKiEkKiEkN_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iBkK_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *
 *
 *              _xZkqqHx_iBeG_xHqqkZx_        _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *              _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *              _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iBkL_xHqqkZx_ GetHtBoxGapY()
 *              _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkPiEkKiEkOiEjPiEjPiEkJ_xHqqkZx_
 *              _xZkqqHx_iEkL_xHqqkZx_                  _xZkqqHx_iEkA_xHqqkZx_
 *      _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkNiEjPiEkI_xHqqkZx_
 *      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_ GetHtBoxGapY()
 *      _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkOiEjPiEkJ_xHqqkZx_
 *            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                _xZkqqHx_iEkA_xHqqkZx_
 *            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkMiEkKiEkNiEjPiEjPiEkI_xHqqkZx_
 *            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_  
 *            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkMiEkO_xHqqkZx_  _xZkqqHx_iEkPiEkN_xHqqkZx_
 *            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_     _xZkqqHx_iBfP_xHqqkZx_    _xZkqqHx_iBfO_xHqqkZx_ 
 *            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_       _xZkqqHx_iBfPiBfO_xHqqkZx_   
 *            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *            _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *
 *
 *                  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *                _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *              _xZkqqHx_iEkMiEkO_xHqqkZx_  _xZkqqHx_iEkPiEkN_xHqqkZx_
 *               _xZkqqHx_iBfP_xHqqkZx_    _xZkqqHx_iBfO_xHqqkZx_
 *                 _xZkqqHx_iBfPiBfO_xHqqkZx_________
 *                           _xZkqqHx_iBkK_xHqqkZx_
 *                           _xZkqqHx_iEkA_xHqqkZx_ GetHtInterLineY()
 *                           _xZkqqHx_iBkL_xHqqkZx_
 *      _xZkqqHx_iEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_ _xZkqqHx_iEjPiEjPiEjPiEkI_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *
 *
 *
 *                  _xZkqqHx_iBeG_xHqqkZx_           GetHtInterBoxX()   _xZkqqHx_iBeG_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_              _xZkqqHx_iEkFiBkJiEjPiBkIiEkH_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_              _xZkqqHx_iEkA_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_      _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_      _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_                          _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *
 *
 *                  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkOiEjPiEkG_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                _xZkqqHx_iBkK_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_ GetHtInterBoxY()
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiElIiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *              _xZkqqHx_iEkMiEkO_xHqqkZx_  _xZkqqHx_iEkPiEkN_xHqqkZx_  _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *               _xZkqqHx_iBfP_xHqqkZx_    _xZkqqHx_iBfO_xHqqkZx_         _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                 _xZkqqHx_iBfPiBfO_xHqqkZx_           _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                                _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *
 *
 *                                            _xZkqqHx_iBeG_xHqqkZx_
 *                                            _xZkqqHx_iEkL_xHqqkZx_
 *                                            _xZkqqHx_iEkL_xHqqkZx_
 *                                    _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                                    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                                    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                                    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                                    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                                    _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                                    _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iBeG_xHqqkZx_      GetHtInterBoxX()_xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_              _xZkqqHx_iEkFiBkJiEjPiBkIiEkH_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_              _xZkqqHx_iEkA_xHqqkZx_      _xZkqqHx_iEkLiEkAiEkL_xHqqkZx_
 *          _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_      _xZkqqHx_iEkLiEkAiEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkLiEkAiElAiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkLiEkAiEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_                        _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *
 *
 *                              _xZkqqHx_iBeG_xHqqkZx_
 *                              _xZkqqHx_iEkL_xHqqkZx_
 *                              _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                  _xZkqqHx_iBeG_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkMiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkL_xHqqkZx_                      _xZkqqHx_iEkL_xHqqkZx_
 *          _xZkqqHx_iEkPiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkOiEjPiEkG_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iBkK_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_ GetHtInterBoxY()
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_    _xZkqqHx_iBkL_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iElAiEkKiEkKiElIiEkKiEkKiEkKiEkN_xHqqkZx_
 *                _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                            _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_            _xZkqqHx_iBeG_xHqqkZx_
 *
 *
 *               GetHtLifeWidthH()
 *                _xZkqqHx_iBkIiEkJiEjPiEkJiBkJ_xHqqkZx_
 *                  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *                      _xZkqqHx_iEkA_xHqqkZx_
 *                  _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkL_xHqqkZx_    GetHtArwWidthH()
 *                  _xZkqqHx_iEkLiBkIiEkJiEjPiElOiEjPiEkJiBkJ_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *                  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *              _xZkqqHx_iEkMiEkKiEkO_xHqqkZx_      _xZkqqHx_iEkPiEkKiEkNiEjPiEjPiEkG_xHqqkZx_
 *               _xZkqqHx_iBfP_xHqqkZx_            _xZkqqHx_iBfO_xHqqkZx_     _xZkqqHx_iBkK_xHqqkZx_
 *                 _xZkqqHx_iBfP_xHqqkZx_        _xZkqqHx_iBfO_xHqqkZx_       _xZkqqHx_iEkA_xHqqkZx_ GetHtArwHeight()
 *                   _xZkqqHx_iBfP_xHqqkZx_    _xZkqqHx_iBfO_xHqqkZx_         _xZkqqHx_iEkA_xHqqkZx_
 *                     _xZkqqHx_iBfPiBfO_xHqqkZx_           _xZkqqHx_iBkL_xHqqkZx_
 *                        _xZkqqHx_iBfAiBfAiBfAiBfAiBfAiBfAiBfA_xHqqkZx_
 *
 *
 *                                        _xZkqqHx_iBeG_xHqqkZx_
 *                                        _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkKiElDiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iEkL_xHqqkZx_
 *                        _xZkqqHx_iEkPiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkO_xHqqkZx_
 *                                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                      GetHtBoxIconW() _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                            _xZkqqHx_iEkFiBkJiEjPiBkIiEkHiEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                            _xZkqqHx_iEkA_xHqqkZx_      _xZkqqHx_iEkAiEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkGiEjPiEjPiEkMiEkKiEkKiEkKiEkNiEkL_xHqqkZx_  _xZkqqHx_iElAiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_
 *                      _xZkqqHx_iBkK_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkLiEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *            GetHtBoxIconH() _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iCgA_xHqqkZx_  _xZkqqHx_iEkLiEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iBkL_xHqqkZx_    _xZkqqHx_iEkL_xHqqkZx_      _xZkqqHx_iEkLiEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                      _xZkqqHx_iEkIiEjPiEjPiEkPiEkKiEkKiEkKiEkOiEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                                    _xZkqqHx_iEkAiEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *             GetHtHiForkTagGapX() _xZkqqHx_iBkIiEkJiElOiBkJiEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                                      _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkL_xHqqkZx_
 *                                      _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_            _xZkqqHx_iBeG_xHqqkZx_
 *
 *
 *                            GetHtBoxIconW()
 *                              _xZkqqHx_iEkFiBkJiEjPiBkIiEkH_xHqqkZx_
 *       GetHtBoxIconMarginL()  _xZkqqHx_iEkA_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_                                     GetHtBoxTextMarginR()
 *                          _xZkqqHx_iBkIiEkJiEkJiBkJ_xHqqkZx_    _xZkqqHx_iEkA_xHqqkZx_                            _xZkqqHx_iBkIiEkJiEjPiEkJiBkJ_xHqqkZx_
 *                            _xZkqqHx_iEkAiEkA_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_      GetHtBoxTextMarginL()   _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_
 *    GetHtBoxIconMarginT()   _xZkqqHx_iEkAiEkA_xHqqkZx_    _xZkqqHx_iBkIiEkJiEjPiEkJiBkJ_xHqqkZx_                        _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_       GetHtBoxTextMarginT()
 *                    _xZkqqHx_iBkL_xHqqkZx_      _xZkqqHx_iEkAiEkA_xHqqkZx_      _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_                          _xZkqqHx_iEkA_xHqqkZx_  _xZkqqHx_iEkA_xHqqkZx_        _xZkqqHx_iBkL_xHqqkZx_
 *                    _xZkqqHx_iEkJiEjPiEjPiEjPiEkMiElJiEkKiEkKiEkKiElJiEkKiElJiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiElJiEkKiEkNiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *              _xZkqqHx_iEkGiEjPiEjPiEkJiEjPiEjPiEjPiElOiEkMiBgDiBgDiBgDiEkN_xHqqkZx_                                  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkA_xHqqkZx_
 *              _xZkqqHx_iBkK_xHqqkZx_    _xZkqqHx_iBkK_xHqqkZx_      _xZkqqHx_iEkLiBeG_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkN_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *    GetHtBoxIconH()         _xZkqqHx_iEkLiBeG_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iBkK_xHqqkZx_  _xZkqqHx_iBkL_xHqqkZx_ GetHtBoxTextLineGap()
 *              _xZkqqHx_iBkL_xHqqkZx_            _xZkqqHx_iEkLiBeG_xHqqkZx_      _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkO_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *              _xZkqqHx_iEkIiEjPiEjPiEjPiEjPiEjPiEjPiElOiEkPiBgDiBgDiBgDiEkO_xHqqkZx_                                  _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkA_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkNiEkMiBgDiEkN_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeGiBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iBkL_xHqqkZx_  _xZkqqHx_iBkK_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_            _xZkqqHx_iEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkOiEkPiBgDiEkO_xHqqkZx_  _xZkqqHx_iElOiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *                            _xZkqqHx_iEkL_xHqqkZx_                                            _xZkqqHx_iEkL_xHqqkZx_        _xZkqqHx_iEkA_xHqqkZx_
 *                            _xZkqqHx_iEkPiEkKiEkKiEkKiEkKiEkKiEkKiEkN_xHqqkZx_  _xZkqqHx_iEkMiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkKiEkOiEjPiEjPiEjPiEjPiEkJ_xHqqkZx_
 *                                          _xZkqqHx_iEkL_xHqqkZx_  _xZkqqHx_iEkL_xHqqkZx_                                    _xZkqqHx_iBkK_xHqqkZx_
 *                                          _xZkqqHx_iBeG_xHqqkZx_  _xZkqqHx_iBeG_xHqqkZx_                                   GetHtBoxTextMarginB()
 *
 *************************************************************************/

// HTreeRec.doc_xZkqqHx_iCpAiOfBiPmGiBeC_xHqqkZx_

class FCHTreeRec;
class FCHTreeManager;

/*************************************************************************
 * <_xZkqqHx_iNfMjBkCjBmM_xHqqkZx_>	VShortLine
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jAiCjClMjApMjFkKiCmMjAoIjHeMjEmNiImNiCpAiLeMjIfOiClHiCoJiClNiCnPiCmMiNfMjBkCjBmMiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	03.03.25 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
struct VShortLine
{
	VShortLine (long lX, long lYFROM, long lYTO) :
		lx(lX), lyFrom(lYFROM), lyTo(lYTO) {}
	long	lx;			// _xZkqqHx_jAiCjClMjApMjFkKiCmM_xHqqkZx_X_xZkqqHx_iNmAjFfHiBeC_xHqqkZx_
	long	lyFrom;		// _xZkqqHx_jAiCjClMjApMjFkKiCmMiKeKiOgO_xHqqkZx_Y_xZkqqHx_iNmAjFfHiBeC_xHqqkZx_
	long	lyTo;		// _xZkqqHx_jAiCjClMjApMjFkKiCmMiPeJjHlJ_xHqqkZx_Y_xZkqqHx_iNmAjFfHiBeC_xHqqkZx_
}; // struct VShortLine.

typedef vector<VShortLine>	VSLineVector;

/*************************************************************************
 * <_xZkqqHx_iNfMjBkCjBmM_xHqqkZx_>	HTRTimeRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAiCmMiOjOiKnEiDfGiDePiDgJiDiLiPoOjFpBiCpAiLeMjIfOiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	02.01.28 Fukushiro M. _xZkqqHx_iDfCiDiBiDjDiDgHiNoMjAkM_xHqqkZx_
 *************************************************************************/
struct HTRTimeRec
{
	HTRTimeRec (flint fliSessionIdx,
				const GUID& guidUserId,
				FDSECTIME fdst);
	WString		GetHintText (const FCHTreeManager* pHtreeManager) const;

	flint		m_fliSessionIdx;	// _xZkqqHx_jHjKjHpAiDhEiDeAiDeDiDiLiCmMiDfKiDgCiDfGiDiHiDjDiDeDiDjDiDgGiDgCiDeOiDfIiCpAiLeMjIfOiBeC_xHqqkZx_ 
	GUID		m_guidUserId;		// _xZkqqHx_iDiGiBfLiDfFiBfL_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	FDSECTIME	m_fdstTime;			// _xZkqqHx_iOjOiKnEiDfGiDePiDgJiDiLiCmMiOjOiKnEiCpAiLeMjIfOiBeC_xHqqkZx_
	long		m_y;				// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmFiCmMiBeB_xHqqkZx_y_xZkqqHx_iNmAjFfHiBeC_xHqqkZx_
}; // struct HTRTimeRec.

typedef vector<HTRTimeRec>	HTRTimeRecVector;

// FCHistNode_xZkqqHx_iDeOiDiJiDfIiCmMiDfEiDhFiDeOiDiJiDfIiCmMiDeOiDiJiDfIiDfOiDeDiDhGiBeC_xHqqkZx_
enum FDTRClass
{
	FDTR_NONE_REC = 0,		// _xZkqqHx_jGlDiClFiBeC_xHqqkZx_
	FDTR_HTREE_REC,			// _xZkqqHx_jHjKjHpAiDgNiBfLiDgIiBeC_xHqqkZx_
	FDTR_LABEL_REC,			// _xZkqqHx_iDiJiDhIiDiLiBeC_xHqqkZx_
	FDTR_HI_FORK_TAG_REC,	// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiBeC_xHqqkZx_
	FDTR_TIME_LABEL_REC,	// _xZkqqHx_iOjOiKnEiDiJiDhIiDiLiBeC_xHqqkZx_

	FDTR_TRUNK_REC,			// _xZkqqHx_iKlCiDgNiBfLiDgIiBeC_xHqqkZx_FCHLabelHtreeRec _xZkqqHx_iCmFiCmNiOgHiCoNiCmIiCkCiBeC_xHqqkZx_
	FDTR_TIME_REC,			// _xZkqqHx_iOjOiKnEiDfGiDePiDgJiDiLiBeC_xHqqkZx_FCHLabelHtreeRec _xZkqqHx_iCmFiCmNiOgHiCoNiCmIiCkCiBeC_xHqqkZx_
//	FDTR_PROJECT_REC,		// _xZkqqHx_iDhGiDiNiDfHiDeGiDeOiDgHiDgNiBfLiDgIiBeC_xHqqkZx_FCHLabelHtreeRec _xZkqqHx_iCmFiCmNiOgHiCoNiCmIiCkCiBeC_xHqqkZx_
	FDTR_EXPBOX_REC,		// _xZkqqHx_jDfHiKeKiDfCiDjDiDgHiDiNiBfLiDiLiDhLiDgCiDeOiDfIiDgNiBfLiDgIiBeC_xHqqkZx_FCHLabelHtreeRec _xZkqqHx_iCmFiCmNiOgHiCoNiCmIiCkCiBeC_xHqqkZx_
}; // enum FDTRClass.

/*************************************************************************
 * <_xZkqqHx_iNfMjBkCjBmM_xHqqkZx_>	FCHLabelHtreeRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiJiDhIiDiLiCmGiBeBjHjKjHpAjFkKiKpCiCmMjHlMjFpLiCmM_xHqqkZx_ID_xZkqqHx_iCpAiKmHjHjNiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_iJpAjAoA_xHqqkZx_>	_xZkqqHx_jEhKjHpBiCmMjHhGjBgGiCmGiClFiCmEiOgHiCkEiBeCiDiJiDhIiDiLiBeFjHjKjHpAjFkKiKpCiCpAiNkMiNnNiClDiClJiCmEiBeBjFfMiOkGiOjOiCmJ_xHqqkZx_
 *			_xZkqqHx_jHjIjHhAiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.05.18 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
struct FCHLabelHtreeRec
{
	FCHLabelHtreeRec () {}
	FCHLabelHtreeRec (FDTRClass cl, long lId) : m_class(cl), m_lId(lId) {}
	FDTRClass	m_class;	// _xZkqqHx_iDeOiDiJiDfIiBeC_xHqqkZx_
	long		m_lId;		// _xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID _xZkqqHx_iIlNiCkCiCmN_xHqqkZx_ _xZkqqHx_iDiJiDhIiDiL_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	CPoint		m_ptRoot;	// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiCkIiCkPiCoJiDhLiDgCiDeOiDfIiCmMjAnKjBlBiImKjChFiNmAjFfHiBeC_xHqqkZx_
}; // struct FCHLabelHtreeRec.

typedef multimap<flint, FCHLabelHtreeRec> FTSessionToNodeMmap;

/*************************************************************************
 * <_xZkqqHx_iDeOiDiJiDfI_xHqqkZx_>	FCHiLabelRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDiJiDhIiDiLiCmMjBkOjAkLiCpAiLeMjIfOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.22 Fukushiro M. _xZkqqHx_iDfCiDiBiDjDiDgHiNoMjAkM_xHqqkZx_
 *************************************************************************/
class FCHiLabelRec
{
public:
	FCHiLabelRec (	BOOL bIsCreate,
					flint fliSessionIdx,
					const GUID& guidUserId,
					FDSECTIME fdstCreateTime,
					DWORD dwObjectId,
					const wchar_t* tcpLabel);
	BOOL	GetIsCreate () const;
	flint	GetSessionIndex () const;
	WString	GetLabelString () const;
	DWORD	GetObjectId () const;
	WString	GetHintText (const FCHTreeManager* pHtreeManager) const;

protected:
	BOOL		m_bIsCreate;		// _xZkqqHx_iNoMjAkMiBeIiNoNiPjMiBeI_xHqqkZx_
	flint		m_fliSessionIndex;	// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDiDeDiDjDiDgGiDgCiDeOiDfIiBeC_xHqqkZx_
	GUID		m_guidUserId;		// _xZkqqHx_iDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	FDSECTIME	m_fdstCreateTime;	// _xZkqqHx_iNoMjAkMiOjOiKnEiBeC_xHqqkZx_
	DWORD		m_dwObjectId;		// _xZkqqHx_jFjEjFgJ_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	WString		m_strLabel;			// _xZkqqHx_iDiJiDhIiDiLjFlGiOjKjHpBiBeC_xHqqkZx_
}; // class FCHiLabelRec.

typedef auto_ptr<FCHiLabelRec>		FCHiLabelRecAuto;
typedef vector<FCHiLabelRecAuto>	FCHiLabelRecAutoVector;

/*************************************************************************
 * <_xZkqqHx_iDeOiDiJiDfI_xHqqkZx_>	FCHiForkTagRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiCmMjBkOjAkLiCpAiLeMjIfOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	04.06.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
class FCHiForkTagRec
{
public:
	FCHiForkTagRec (FCHTreeRec* pHtreeRec = NULL,
					flint fliSessionIndex = -1,
					const GUID& guidUserId = GUID_NULL,
					FDSECTIME fdstCreateTime = FDSECTIME(-1),
					const wchar_t* wcpTitle = L"",
					const wchar_t* wcpComment = L"",
					double dHtreeScore = 0.0);

	flint		GetSessionIndex () const;
	GUID		GetUserId () const;
	FDSECTIME	GetCreateTime () const;
	WString		GetTitleString () const;
	WString		GetCommentString () const;
	double		GetHtreeScore () const;
	WString		GetHintText (const FCHTreeManager* pHtreeManager);

protected:
	FCHTreeRec*	m_pHtreeRec;
	flint		m_fliSessionIndex;
	GUID		m_guidUserId;		// _xZkqqHx_iDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	FDSECTIME	m_fdstCreateTime;
	WString		m_wstrTitle;
	WString		m_wstrComment;
// 05.09.17 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	double		m_dHtreeScore;
}; // class FCHiForkTagRec.

typedef auto_ptr<FCHiForkTagRec>	FCHiForkTagRecAuto;
typedef vector<FCHiForkTagRecAuto>	FCHiForkTagRecAutoVector;

/*************************************************************************
 * <_xZkqqHx_iDeOiDiJiDfI_xHqqkZx_>	FCTimeLabelRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iOjOiKnEiDiJiDhIiDiLiCmMjBkOjAkLiCpAiLeMjIfOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.14 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
class FCTimeLabelRec
{
public:
	FCTimeLabelRec (flint fliSessionIndex = -1,
					long lTimeLabelId = -1,
					const GUID& guidUserId = GUID_NULL,
					FDSECTIME fdstCreateTime = FDSECTIME(-1),
					const wchar_t* wcpContents = L"");

	flint		GetSessionIndex () const;
	long		GetTimeLabelId () const;
	GUID		GetUserId () const;
	FDSECTIME	GetCreateTime () const;
	WString		GetContentsText () const;
	WString		GetHintText (const FCHTreeManager* pHtreeManager) const;

protected:
	flint		m_fliSessionIndex;
	long		m_lTimeLabelId;
	GUID		m_guidUserId;		// _xZkqqHx_iDiGiBfLiDfF_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_
	FDSECTIME	m_fdstCreateTime;
	WString		m_wstrContents;
}; // class FCTimeLabelRec.

typedef auto_ptr<FCTimeLabelRec>	FCTimeLabelRecAuto;
typedef vector<FCTimeLabelRecAuto>	FCTimeLabelRecAutoVector;

/*************************************************************************
 * <_xZkqqHx_iNfMjBkCjBmM_xHqqkZx_>	FCSessionHtreeScoreRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_iDfKiDgCiDfGiDiHiDjDjEmNiImNiCmGiBeBiClLiCmMjEmNiImNiCmMjHjKjHpAiDfIiDfCiDeBiCpAiLeMjIfOiClHiCoJiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	05.09.20 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
struct FCSessionHtreeScoreRec
{
	FCSessionHtreeScoreRec (flint fliFromSessionIndex = -1,
							flint fliUntilSessionIndex = -1,
							double dHtreeScore = -1.0)
						:	m_fliFromSessionIndex(fliFromSessionIndex),
							m_fliUntilSessionIndex(fliUntilSessionIndex),
							m_dHtreeScore(dHtreeScore) {}
	flint	m_fliFromSessionIndex;		// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDjEmNiImNiCmMiKeKiOgOiImKjChFiBeC_xHqqkZx_
	flint	m_fliUntilSessionIndex;		// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDjEmNiImNiCmMiPeJjHlJiImKjChFiBeC_xHqqkZx_
	double	m_dHtreeScore;				// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDjEmNiImNiCmMjHjKjHpAiDfIiDfCiDeBiBeC_xHqqkZx_
}; // struct FCSessionHtreeScoreRec.

/*************************************************************************
 * <_xZkqqHx_iDeOiDiJiDfI_xHqqkZx_>	FCHTreeRec
 *
 * <_xZkqqHx_iLeAjEfM_xHqqkZx_>	_xZkqqHx_jHjKjHpAiDeDiDjDiDgGiDgCiDeOiDfIiCmMiDgGiBfLiDfOiCpAjDoAjFjEiCmJjFpIiCkGiNjOiCnOiBeC_xHqqkZx_WndHistoryTree_xZkqqHx_iCmF_xHqqkZx_
 *			_xZkqqHx_iOgHjHhAiClHiCoJiNmAjFfHiPoOjFpBiCpAiOjNiCmCiBeC_xHqqkZx_
 *
 * <_xZkqqHx_jHjKjHpA_xHqqkZx_>	99.03.11 Fukushiro M. _xZkqqHx_iNoMjAkM_xHqqkZx_
 *************************************************************************/
class FCHTreeRec
{
public:
	static FCHTreeRec* Create (	FCHTreeManager* pHTreeMng,
								long lDocId);
	virtual ~FCHTreeRec ();

	virtual	void			SetRootPoint (const CPoint& pt);
	virtual	const CPoint&	GetRootPoint () const;
	virtual	void	GetZoomLimitTree (	double& dZoomMin,
										double& dZoomMax,
										double& dZoomFit,
										long lClientHeight,
										long lLevel = 0);
	virtual	void	GetZoomLimitBranch (double& dZoomMin,
										double& dZoomMax,
										double& dZoomFit,
										const CSize& szClient);
	virtual	CRect	CalcLayoutTree (double dZoom, CRectVector& rtvOccupied,
									VSLineVector& slvOccupied);
	virtual	CRect	CalcLayoutBranch (double dZoom);
	virtual	long	GetDocumentId () const;

//----- 06.02.06 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual	void	CheckSummaryUpdated (const FCDbReadLock& readLock);
//	virtual	void	CheckTerminateUpdated (const FCDbReadLock& readLock);
//	virtual	void	CheckForkUpdated (const FCDbReadLock& readLock);
//----- 06.02.06 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----

	virtual	BOOL	IsSummaryOverwrited (const FCDbReadLock& readLock);
	virtual	BOOL	IsSummaryAppended (const FCDbReadLock& readLock);
	virtual	BOOL	IsTerminateOverwrited (const FCDbReadLock& readLock);
	virtual	BOOL	IsTerminateAppended (const FCDbReadLock& readLock);
	virtual	BOOL	IsForkOverwrited (const FCDbReadLock& readLock);
	virtual	BOOL	IsForkAppended (const FCDbReadLock& readLock);


//----- 06.02.06 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	virtual	BOOL	IsTerminateUpdated () const;
//	virtual	BOOL	IsForkUpdated () const;
//----- 06.02.06 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----



// 06.01.30 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual	void	UnlockAll ();

	virtual	void	LoadSummary (const FCDbReadLock& readLock);
	virtual	void	AppendSummary (const FCDbReadLock& readLock);
	virtual	void	LoadTerminateFile (const FCDbReadLock& readLock);
	virtual	void	LoadForkFile (const FCDbReadLock& readLock);

	virtual void	GetSubTreeDocId (longVector& vDocId);

	// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIjFfMiOkGiDiMiDeDiDeBiDeFiDgHjHhAiDfKiDgCiDfGiDiHiDjDiImKjChF_xHqqkZx_->_xZkqqHx_iDiJiDhIiDiLiBeFjHjKjHpAiNkMiNnNiDgOiDgCiDfGiDiFiBeC_xHqqkZx_
	virtual	const FTSessionToNodeMmap&	GetSessionToNodeMmap ();

	virtual	flint	GetSessionIndexLength ();

	virtual	WString	GetDocumentTitle ();
	virtual	WString	GetVersionString ();
	virtual	FDSECTIME	GetCreationDate ();
	virtual	WString	GetUserName ();
	virtual	WString	GetComment ();

// 05.11.18 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	virtual	flint	GetFirstSessionIndex ();				// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDiDeDiDjDiDgGiDgCiDeOiDfIiPiJiKpKjCgMiBeC_xHqqkZx_
	virtual	flint	GetFirstSessionIndex () const;			// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDiDeDiDjDiDgGiDgCiDeOiDfIiPiJiKpKjCgMiBeC_xHqqkZx_
// 05.11.18 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	virtual	flint	GetEndSessionIndex ();					// _xZkqqHx_jHjKjHpAiPeJjCfLiImKjChFiBeC_xHqqkZx_
	virtual	flint	GetEndSessionIndex () const;			// _xZkqqHx_jHjKjHpAiPeJjCfLiImKjChFiBeC_xHqqkZx_

	virtual	const HTRTimeRecVector& GetTimeRecVector ();	// _xZkqqHx_iNfIjAfGiOjOiKnEiLeMjIfOiCmMiDiKiDfIiDgHiBeC_xHqqkZx_
	virtual	long	GetLife () const;						// _xZkqqHx_jHjKjHpAjApMiCmMjClHiClDiBeC_xHqqkZx_
	virtual	CPoint	GetBoxPoint () const;					// _xZkqqHx_jFfMiOkGiDhLiDgCiDeOiDfIiCmMiKoOiPiAjDfPiBeC_xHqqkZx_

	virtual CRect	GetLifeArrowRect () const;
	virtual CRect	GetLifeLineRect () const;
	virtual CRect	GetNodeBoxRect () const;

	virtual long	SessionIndexToYTree (flint fliSessionIndex);
	virtual flint	YToSessionIndexTree (long lY);

//----- 05.09.20 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual long	SessionIndexToYBranch (flint fliSessionIndex);
	virtual flint	YToSessionIndexBranch (long lY);
//----- 05.09.20 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----

// 06.04.07 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	virtual const FCHLabelBeginRec* GetHLabelBeginRec (long lId);
	virtual const FCHiLabelRec* GetHiLabelRec (long lId);
	virtual FCHiForkTagRec* GetHiForkTagRec (long lId);
	virtual const FCTimeLabelRec* GetTimeLabelRec (long lId);
	virtual const HTRTimeRec*	GetTimeRec (long lId);

	virtual WString	GetHintText (flint fliSessionIndex);

	virtual FCHTreeManager*	GetHTreeManager ();
	virtual const FCHTreeManager*	GetHTreeManager () const;

//----- 05.09.17 Fukushiro M. _xZkqqHx_jCmHiJmBiOgO_xHqqkZx_ ()-----
	virtual double	GetHtreeScore ();
	virtual double	GetAccumulatedHtreeScore (flint fliSessionIndex);
//----- 05.09.17 Fukushiro M. _xZkqqHx_jCmHiJmBiPeJ_xHqqkZx_ ()-----
// 05.09.20 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual void	GetAccumulatedHtreeScore (vector<FCSessionHtreeScoreRec>& vSessionHtreeScore);
// 05.11.18 Fukushiro M. 1_xZkqqHx_iNhDjCmHiJmB_xHqqkZx_ ()
	virtual const longVector&	GetSubTreeDocIdVector () const;

protected:
// 05.09.17 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	virtual	flint	GetFromSessionIndex ();
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIjBeP_xHqqkZx_ ()-----
//	virtual const longVector&	GetSubTreeDocIdVector ();
//	virtual const FCHLabelBeginRecAutoVector&	GetHLabelBeginRecVector ();
//	virtual const FCHiForkTagRecAutoVector&	GetHiForkTagRecVector ();
//	virtual const FCTimeLabelRecAutoVector&	GetTimeLabelRecVector ();
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiMoD_xHqqkZx_ ()-----
// 06.04.07 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	virtual const FCHLabelBeginRecAutoVector&	GetHLabelBeginRecVector () const;
	virtual const FCHiLabelRecAutoVector&	GetHiLabelRecVector () const;
	virtual const FCHiForkTagRecAutoVector&	GetHiForkTagRecVector () const;
	virtual const FCTimeLabelRecAutoVector&	GetTimeLabelRecVector () const;
//----- 05.11.18 Fukushiro M. _xZkqqHx_jFmPiNfIiPeJ_xHqqkZx_ ()-----


	// _xZkqqHx_iMmCjFmKjHjKjHpAiOhNiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIjFfMiOkGiDiMiDeDiDeBiDeFiDgHjHhAiDfKiDgCiDfGiDiHiDjDiImKjChF_xHqqkZx_->_xZkqqHx_iDiJiDhIiDiLiBeFjHjKjHpAiNkMiNnNiDgOiDgCiDfGiDiFiBeC_xHqqkZx_
	virtual	FTSessionToNodeMmap&	GetSessionToNodeMmapW ();
	virtual	HTRTimeRecVector&		GetTimeRecVectorW ();	// _xZkqqHx_iNfIjAfGiOjOiKnEiLeMjIfOiCmMiDiKiDfIiDgHiBeC_xHqqkZx_

	//----- CalcLayoutTree _xZkqqHx_iCmFiOgHiCkEiKnGjAjEiBeCjAoIjHeMiCmMiMhGiOfKiCmJiOgHiCkE_xHqqkZx_ -----
	virtual	long	GetCrossBox (CRect rt,
								const CRect rtaOccupied[],
								long lOccupiedCount) const;
	virtual	BOOL	IsOverLine (long lx, long lyFrom, long lyTo,
								const VShortLine slaOccupied[],
								long lOccupiedCount) const;
	static void		RegisterBox (CRectVector& rtvOccupied,
								 const CRect& rt);
	static void		RegisterLine (VSLineVector& slvOccupied,
								  long lx, long lyFrom, long lyTo);

protected:

	FCHTreeRec ();

protected:
	FCHTreeManager*	m_pHTreeMng;						// HTreeManager_xZkqqHx_iBeC_xHqqkZx_
	long			m_lDocId;							// _xZkqqHx_jHjKjHpAjFlGiPjB_xHqqkZx_ID_xZkqqHx_iBeC_xHqqkZx_

	CPoint			m_ptRoot;							// _xZkqqHx_jHjKjHpAjGnIiNfMjBkCiDfIiDeOiDiKiBfLiDjDiDiCiBfLiDgIiCmJiCkIiCkPiCoJiDhLiDgCiDeOiDfIiCmMjAnKjBlBiImKjChFiNmAjFfHiBeC_xHqqkZx_

	flint			m_fliFirstSessionIndex;				// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDiDeDiDjDiDgGiDgCiDeOiDfIiPiJiKpKjCgMiBeC_xHqqkZx_
	flint			m_fliEndSessionIndex;				// _xZkqqHx_jHjKjHpAiPeJjCfLiImKjChFiBeC_xHqqkZx_
	longVector		m_vSubTreeDocId;					// _xZkqqHx_iDfEiDhFiCmMjHjKjHpAjFlGiPjBiDiKiDfIiDgHiBeC_xHqqkZx_

	HTRTimeRecVector m_vTimeRec;						// _xZkqqHx_iNfIjAfGiOjOiKnEiLeMjIfOiCmMiDiKiDfIiDgHiBeC_xHqqkZx_
	FCHiLabelRecAutoVector m_vHiLabelRecAuto;			// _xZkqqHx_iDiJiDhIiDiLiLeMjIfOiCmMiDiKiDfIiDgHiBeCiDfKiDgCiDfGiDiHiDjDiImKjChFiPiHiBeC_xHqqkZx_
	FCHiForkTagRecAutoVector m_vHiForkTagRecAuto;		// _xZkqqHx_jHjKjHpAjFkKiKpCiDfOiDePiLeMjIfOiCmMiDiKiDfIiDgHiBeCiDfKiDgCiDfGiDiHiDjDiImKjChFiPiHiBeC_xHqqkZx_
	FCTimeLabelRecAutoVector m_vTimeLabelRecAuto;		// _xZkqqHx_iOjOiKnEiDiJiDhIiDiLiLeMjIfOiCmMiDiKiDfIiDgHiBeCiDfKiDgCiDfGiDiHiDjDiImKjChFiPiHiBeC_xHqqkZx_
	FTSessionToNodeMmap* m_mmapSessionToNode;			// _xZkqqHx_iDfKiDgCiDfGiDiHiDjDiImKjChF_xHqqkZx_->_xZkqqHx_iDiJiDhIiDiLiBeFjHjKjHpAiNkMiNnNiDgOiDgCiDfGiDiFiBeC_xHqqkZx_

	long			m_lLife;							// _xZkqqHx_jHjKjHpAjApMiCmMjClHiClDiBeC_xHqqkZx_
	CPoint			m_ptBox;							// _xZkqqHx_jFfMiOkGiDhLiDgCiDeOiDfIiCmMiKoOiPiAjDfPiBeC_xHqqkZx_

// 06.02.06 Fukushiro M. 1_xZkqqHx_iNhDiNoNiPjM_xHqqkZx_ ()
//	DWORD			m_dwSummaryLastEndIndex;			// _xZkqqHx_jHjKjHpAiDeDiDjDiDgGiDgCiDeOiDfIiDhEiDeAiDeDiDiLiCmMjDmHiCnNiNjOiCpBiClOiImKjChFiCpAiLeMjIfOiClFiCmEiCkIiCkNiBeC_xHqqkZx_

	GUID			m_guidSummaryTable;					// _xZkqqHx_iDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiCmMiDgFiBfLiDhFiDiL_xHqqkZx_GUID_xZkqqHx_iBeC_xHqqkZx_
// 06.02.06 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	DWORD			m_dwSummaryLastDeleteIdentifier;	// _xZkqqHx_iDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_
	DWORD			m_dwSummaryLastEndIndex;			// _xZkqqHx_iDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_
	DWORD			m_dwSummaryLastAppendIdentifier;	// _xZkqqHx_iDfEiDhNiDiKiBfLiDgFiBfLiDhFiDiLiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_

	GUID			m_guidTerminateTable;				// _xZkqqHx_jHjKjHpAiPeJjCfLiImKjChFiCmMiDgFiBfLiDhFiDiL_xHqqkZx_GUID_xZkqqHx_iBeC_xHqqkZx_
// 06.02.06 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	DWORD			m_dwTerminateLastDeleteIdentifier;	// _xZkqqHx_jHjKjHpAiPeJjCfLiImKjChFiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_
	DWORD			m_dwTerminateLastEndIndex;			// _xZkqqHx_jHjKjHpAiPeJjCfLiImKjChFiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_
	DWORD			m_dwTerminateLastAppendIdentifier;	// _xZkqqHx_jHjKjHpAiPeJjCfLiImKjChFiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_

	GUID			m_guidForkTable;					// _xZkqqHx_jHjKjHpAjFkKiKpCiCmMiDgFiBfLiDhFiDiL_xHqqkZx_GUID_xZkqqHx_iBeC_xHqqkZx_
// 06.02.06 Fukushiro M. 1_xZkqqHx_iNhDjFmPiNfI_xHqqkZx_ ()
//	DWORD			m_dwForkLastDeleteIdentifier;		// _xZkqqHx_jHjKjHpAjFkKiKpCiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_
	DWORD			m_dwForkLastEndIndex;				// _xZkqqHx_jHjKjHpAjFkKiKpCiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_
	DWORD			m_dwForkLastAppendIdentifier;		// _xZkqqHx_jHjKjHpAjFkKiKpCiCmMiNfIjAfGiDeKiDeFiDjDiDfOiBeC_xHqqkZx_

//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiOgO_xHqqkZx_ ()-----
//	FCDbReadLock	m_autoLockSummaryRead;
//	FCDbReadLock	m_autoLockTerminateRead;
//	FCDbReadLock	m_autoLockForkRead;
//----- 06.01.30 Fukushiro M. _xZkqqHx_iNoNiPjMiPeJ_xHqqkZx_ ()-----
}; // class FCHTreeRec.

#endif//__HTreeRec_h
