// @(#)root/gui:$Id$
// Author: Fons Rademakers   27/02/98

/*************************************************************************
 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TRootBrowserLite                                                     //
//                                                                      //
// This class creates a ROOT object browser (looking like Windows       //
// Explorer). The widgets used are the new native ROOT GUI widgets.     //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#include "RConfigure.h"

#include "TRootBrowserLite.h"
#include "TRootApplication.h"
#include "TGCanvas.h"
#include "TGMenu.h"
#include "TGFileDialog.h"
#include "TGStatusBar.h"
#include "TGFSComboBox.h"
#include "TGLabel.h"
#include "TGButton.h"
#include "TGListView.h"
#include "TGListTree.h"
#include "TGToolBar.h"
#include "TGSplitter.h"
#include "TG3DLine.h"
#include "TGFSContainer.h"
#include "TGMimeTypes.h"
#include "TRootHelpDialog.h"
#include "TGTextEntry.h"
#include "TGTextEdit.h"
#include "TGTextEditDialogs.h"

#include "TROOT.h"
#include "TEnv.h"
#include "TBrowser.h"
#include "TApplication.h"
#include "TFile.h"
#include "TKey.h"
#include "TKeyMapFile.h"
#include "TClass.h"
#include "TContextMenu.h"
#include "TSystem.h"
#include "TSystemDirectory.h"
#include "TSystemFile.h"
#include "TRemoteObject.h"
#include "TInterpreter.h"
#include "TGuiBuilder.h"
#include "TImage.h"
#include "TVirtualPad.h"
#include "KeySymbols.h"
#include "THashTable.h"
#include "TMethod.h"
#include "TColor.h"
#include "TObjString.h"
#include "TGDNDManager.h"
#include "TBufferFile.h"
#include "TFolder.h"
#include "Getline.h"

#include "HelpText.h"

#ifdef WIN32
#include "TWin32SplashThread.h"
#endif

// Browser menu command ids
enum ERootBrowserCommands {
   kFileNewBrowserLite,
   kFileNewBrowser,
   kFileNewCanvas,
   kFileNewBuilder,
   kFileOpen,
   kFileSave,
   kFileSaveAs,
   kFilePrint,
   kFileCloseBrowser,
   kFileQuit,

   kViewToolBar,
   kViewStatusBar,
   kViewLargeIcons,
   kViewSmallIcons,
   kViewList,
   kViewDetails,
   kViewLineUp,
   kViewHidden,
   kViewRefresh,
   kViewFind,
   kViewExec,
   kViewInterrupt,
   kViewSave,

   kViewArrangeByName,     // Arrange submenu
   kViewArrangeByType,
   kViewArrangeBySize,
   kViewArrangeByDate,
   kViewArrangeAuto,
   kViewGroupLV,

   kHistoryBack,
   kHistoryForw,

   kOptionShowCycles,
   kOptionAutoThumbnail,

   kOneLevelUp,            // One level up toolbar button
   kFSComboBox,            // File system combobox in toolbar

   kHelpAbout,
   kHelpOnBrowser,
   kHelpOnCanvas,
   kHelpOnMenus,
   kHelpOnGraphicsEd,
   kHelpOnObjects,
   kHelpOnPS,
   kHelpOnRemote
};


//----- Struct for default icons

struct DefaultIcon_t {
   const char      *fPicnamePrefix;
   const TGPicture *fIcon[2];
};

#if 0
static DefaultIcon_t gDefaultIcon[] = {
   { "folder",  { 0, 0 } },
   { "app",     { 0, 0 } },
   { "doc",     { 0, 0 } },
   { "slink",   { 0, 0 } },
   { "histo",   { 0, 0 } },
   { "object",  { 0, 0 } }
};
#endif


//----- Toolbar stuff...

static ToolBarData_t gToolBarData[] = {
   { "tb_uplevel.xpm",   "Up One Level",   kFALSE, kOneLevelUp, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "tb_bigicons.xpm",  "Large Icons",    kTRUE,  kViewLargeIcons, 0 },
   { "tb_smicons.xpm",   "Small Icons",    kTRUE,  kViewSmallIcons, 0 },
   { "tb_list.xpm",      "List",           kTRUE,  kViewList, 0 },
   { "tb_details.xpm",   "Details",        kTRUE,  kViewDetails, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "tb_back.xpm",      "Back",           kFALSE, kHistoryBack, 0 },
   { "tb_forw.xpm",      "Forward",        kFALSE, kHistoryForw, 0 },
   { "tb_refresh.xpm",   "Refresh (F5)",   kFALSE, kViewRefresh, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "tb_find.xpm",      "Find (Ctrl-F)",  kFALSE, kViewFind, 0 },
   { "",                 "",               kFALSE, -1, 0 },
   { "macro_t.xpm",      "Execute Macro",  kFALSE, kViewExec, 0 },
   { "interrupt.xpm",    "Interrupt Macro",kFALSE, kViewInterrupt, 0 },
   { "filesaveas.xpm",   "Save Macro",     kFALSE, kViewSave, 0 },
   { 0,                  0,                kFALSE, 0, 0 }
};


//----- TGFileDialog file types

static const char *gOpenTypes[] = { "ROOT files",   "*.root",
                                    "All files",    "*",
                                    0,              0 };

////////////////////////////////////////////////////////////////////////////////////
class TRootBrowserHistoryCursor : public TObject {
public:
   TGListTreeItem *fItem;

   TRootBrowserHistoryCursor(TGListTreeItem *item) : fItem(item) {}
   void Print(Option_t *) const {  if (fItem) printf("%s\n", fItem->GetText()); }
};


////////////////////////////////////////////////////////////////////////////////////
class TRootBrowserHistory : public TList {
public:
   void RecursiveRemove(TObject *obj) {
      TRootBrowserHistoryCursor *cur;
      TIter next(this);

      while ((cur = (TRootBrowserHistoryCursor*)next())) {
         if (cur->fItem->GetUserData() == obj) {
            Remove(cur);
            delete cur;
         }
      }
   }

   void DeleteItem(TGListTreeItem *item) {
      TRootBrowserHistoryCursor *cur;
      TIter next(this);

      while ((cur = (TRootBrowserHistoryCursor*)next())) {
         if (cur->fItem == item) {
            Remove(cur);
            delete cur;
         }
      }
   }
};


////////////////////////////////////////////////////////////////////////////////////
class TRootBrowserCursorSwitcher {
private:
   TGWindow *fW1;
   TGWindow *fW2;
public:
   TRootBrowserCursorSwitcher(TGWindow *w1, TGWindow *w2) : fW1(w1), fW2(w2) {
      if (w1) gVirtualX->SetCursor(w1->GetId(), gVirtualX->CreateCursor(kWatch));
      if (w2) gVirtualX->SetCursor(w2->GetId(), gVirtualX->CreateCursor(kWatch));
   }
   ~TRootBrowserCursorSwitcher() {
      if (fW1) gVirtualX->SetCursor(fW1->GetId(), gVirtualX->CreateCursor(kPointer));
      if (fW2) gVirtualX->SetCursor(fW2->GetId(), gVirtualX->CreateCursor(kPointer));
   }
};

////////////////////////////////////////////////////////////////////////////////////
class TIconBoxThumb : public TObject {
public:
   TString fName;
   const TGPicture *fSmall;
   const TGPicture *fLarge;

   TIconBoxThumb(const char *name, const TGPicture *spic, const TGPicture *pic) {
      fName = name;
      fSmall = spic;
      fLarge = pic;
   }
   ULong_t Hash() const { return fName.Hash(); }
   const char *GetName() const { return fName.Data(); }
};



//----- Special ROOT object item (this are items in the icon box, see
//----- TRootIconBox)
////////////////////////////////////////////////////////////////////////////////////
class TRootObjItem : public TGFileItem {
public:
   TRootObjItem(const TGWindow *p, const TGPicture *bpic,
                const TGPicture *spic, TGString *name,
                TObject *obj, TClass *cl, EListViewMode viewMode = kLVSmallIcons);

   virtual TDNDData *GetDNDData(Atom_t) {
      TObject *object = 0;
      if (fObj->IsA() == TKey::Class())
         object = ((TKey *)fObj)->ReadObj();
      else
         object = fObj;
      if (object) {
         if (!fBuf) fBuf = new TBufferFile(TBuffer::kWrite);
         fBuf->WriteObject(object);
         fDNDData.fData = fBuf->Buffer();
         fDNDData.fDataLength = fBuf->Length();
      }
      fDNDData.fDataType = gVirtualX->InternAtom("application/root", kFALSE);
      return &fDNDData;
   }

   virtual Bool_t HandleDNDFinished() {
      if (GetParent())
         return ((TGFrame *)GetParent())->HandleDNDFinished();
      return kFALSE;
   }

protected:
   TObject     *fObj;
   TDNDData     fDNDData;
};

//______________________________________________________________________________
TRootObjItem::TRootObjItem(const TGWindow *p, const TGPicture *bpic,
                           const TGPicture *spic, TGString *name,
                           TObject *obj, TClass *, EListViewMode viewMode) :
   TGFileItem(p, bpic, 0, spic, 0, name, 0, 0, 0, 0, 0, viewMode)
{
   // Create an icon box item.

   fObj = obj;
   fDNDData.fData = 0;
   fDNDData.fDataLength = 0;

   if (fSubnames) {
      for (Int_t i = 0; fSubnames[i] != 0; ++i) delete fSubnames[i];
   }
   delete [] fSubnames;
   fSubnames = new TGString* [2];

   fSubnames[0] = new TGString(obj->GetTitle());

   fSubnames[1] = 0;

   if (obj->IsA()->HasDefaultConstructor()) {
      SetDNDSource(kTRUE);
   }
   if ((obj->IsA() == TFolder::Class()) ||
       (obj->IsA() == TClass::Class())) {
      SetDNDSource(kFALSE);
   }

   int i;
   for (i = 0; fSubnames[i] != 0; ++i)
      ;
   fCtw = new int[i];
   for (i = 0; fSubnames[i] != 0; ++i)
      fCtw[i] = gVirtualX->TextWidth(fFontStruct, fSubnames[i]->GetString(),
                                     fSubnames[i]->GetLength());
}

class TRootIconBox;
////////////////////////////////////////////////////////////////////////////////////
class TRootIconList : public TList {

private:
   TRootIconBox    *fIconBox; // iconbox to which list belongs
   const TGPicture *fPic;     // list view icon

public:
   TRootIconList(TRootIconBox* box = 0);
   virtual ~TRootIconList();
   void              UpdateName();
   const char       *GetTitle() const { return "ListView Container"; }
   Bool_t            IsFolder() const { return kFALSE; }
   void              Browse(TBrowser *b);
   const TGPicture  *GetPicture() const { return fPic; }
};

//______________________________________________________________________________
TRootIconList::TRootIconList(TRootIconBox* box)
{
   // constructor

   fPic = gClient->GetPicture("listview.xpm");
   fIconBox = box;
   fName = "empty";
}

//______________________________________________________________________________
TRootIconList::~TRootIconList()
{
   // destructor

   gClient->FreePicture(fPic);
}

//______________________________________________________________________________
void TRootIconList::UpdateName()
{
   // composite name

   if (!First()) return;

   if (fSize==1) {
      fName = First()->GetName();
      return;
   }

   fName = First()->GetName();
   fName += "-";
   fName += Last()->GetName();
}

//----- Special ROOT object container (this is the icon box on the
//----- right side of the browser)
////////////////////////////////////////////////////////////////////////////////////
class TRootIconBox : public TGFileContainer {
friend class TRootIconList;
friend class TRootBrowserLite;

private:
   Bool_t           fCheckHeaders;   // if true check headers
   TRootIconList   *fCurrentList;    //
   TRootObjItem    *fCurrentItem;    //
   Bool_t           fGrouped;        //
   TString          fCachedPicName;  //
   TList           *fGarbage;        // garbage for  TRootIconList's
   Int_t            fGroupSize;      // the total number of items when icon box switched to "global view" mode
   TGString        *fCurrentName;    //
   const TGPicture *fLargeCachedPic; //
   const TGPicture *fSmallCachedPic; //
   Bool_t           fWasGrouped;
   TObject         *fActiveObject;   //
   Bool_t           fIsEmpty;
   THashTable      *fThumbnails;     // hash table with thumbnailed pictures
   Bool_t           fAutoThumbnail;  //
   TRootBrowserLite    *fBrowser;

   void  *FindItem(const TString& name,
                   Bool_t direction = kTRUE,
                   Bool_t caseSensitive = kTRUE,
                   Bool_t beginWith = kFALSE);
   void RemoveGarbage();

public:
   TRootIconBox(TRootBrowserLite *browser, TGListView *lv,
                UInt_t options = kSunkenFrame,
                ULong_t back = GetDefaultFrameBackground());

   virtual ~TRootIconBox();

   void   AddObjItem(const char *name, TObject *obj, TClass *cl);
   void   GetObjPictures(const TGPicture **pic, const TGPicture **spic,
                         TObject *obj, const char *name);
   void   SetObjHeaders();
   void   Refresh();
   void   RemoveAll();
   void   SetGroupSize(Int_t siz) { fGroupSize = siz; }
   Int_t  GetGroupSize() const { return fGroupSize; }
   TGFrameElement *FindFrame(Int_t x, Int_t y, Bool_t exclude=kTRUE) { return TGContainer::FindFrame(x,y,exclude); }
   Bool_t WasGrouped() const { return fWasGrouped; }
};

//______________________________________________________________________________
TRootIconBox::TRootIconBox(TRootBrowserLite *browser, TGListView *lv, UInt_t options,
                           ULong_t back) : TGFileContainer(lv, options, back)
{
   // Create iconbox containing ROOT objects in browser.

   fListView = lv;
   fBrowser = browser;

   fCheckHeaders = kTRUE;
   fTotal = 0;
   fGarbage = new TList();
   fCurrentList = 0;
   fCurrentItem = 0;
   fGrouped = kFALSE;
   fGroupSize = 1000;
   fCurrentName = 0;
   fWasGrouped = kFALSE;
   fActiveObject = 0;
   fIsEmpty = kTRUE;
   fLargeCachedPic = 0;
   fSmallCachedPic = 0;

   // Don't use timer HERE (timer is set in TBrowser).
   StopRefreshTimer();
   fRefresh = 0;
   fThumbnails = new THashTable(50);
   fAutoThumbnail = kTRUE;
}

//______________________________________________________________________________
TRootIconBox::~TRootIconBox()
{
   // destructor

   RemoveAll();
   RemoveGarbage();
   delete fGarbage;
   delete fThumbnails;
}

//______________________________________________________________________________
void TRootIconBox::GetObjPictures(const TGPicture **pic, const TGPicture **spic,
                                  TObject *obj, const char *name)
{
   // Retrieve icons associated with class "name". Association is made
   // via the user's ~/.root.mimes file or via $ROOTSYS/etc/root.mimes.

   static TImage *im = 0;
   if (!im) {
      im = TImage::Create();
   }

   TString xpm_magic(name, 3);
   Bool_t xpm = xpm_magic == "/* ";
   const char *iconname = xpm ? obj->GetName() : name;

   if (obj->IsA()->InheritsFrom("TGeoVolume")) {
      iconname = obj->GetIconName() ? obj->GetIconName() : obj->IsA()->GetName();
   }

   if (fCachedPicName == iconname) {
      *pic = fLargeCachedPic;
      *spic = fSmallCachedPic;
      return;
   }

   *pic = fClient->GetMimeTypeList()->GetIcon(iconname, kFALSE);

   if (!(*pic) && xpm) {
      if (im && im->SetImageBuffer((char**)&name, TImage::kXpm)) {
         *pic = fClient->GetPicturePool()->GetPicture(iconname, im->GetPixmap(),
                                                      im->GetMask());
         im->Scale(im->GetWidth()/2, im->GetHeight()/2);
         *spic = fClient->GetPicturePool()->GetPicture(iconname, im->GetPixmap(),
                                                      im->GetMask());
      }

      fClient->GetMimeTypeList()->AddType("[thumbnail]", iconname, iconname, iconname, "->Browse()");
      return;
   }

   if (*pic == 0) {
      if (obj->IsFolder()) {
         *pic = fFolder_s;
      } else {
         *pic = fDoc_s;
      }
   }
   fLargeCachedPic = *pic;

   *spic = fClient->GetMimeTypeList()->GetIcon(iconname, kTRUE);

   if (*spic == 0) {
      if (obj->IsFolder())
         *spic = fFolder_t;
      else
         *spic = fDoc_t;
   }
   fSmallCachedPic = *spic;
   fCachedPicName = iconname;
}

//______________________________________________________________________________
void TRootIconBox::RemoveGarbage()
{
   // delete all TRootIconLists from garbage

   TIter next(fGarbage);
   TList *li;

   while ((li=(TList *)next())) {
      li->Clear("nodelete");
   }
   fGarbage->Delete();
}

//______________________________________________________________________________
void TRootIconBox::AddObjItem(const char *name, TObject *obj, TClass *cl)
{
   // Add object to iconbox. Class is used to get the associated icons
   // via the mime file (see GetObjPictures()).

   if (!cl) return;

   Bool_t isSystemFile = kFALSE;
   TGFileItem *fi;
   fWasGrouped = kFALSE;
   const TGPicture *pic = 0;
   const TGPicture *spic = 0;

   if (obj->InheritsFrom("TRemoteObject")) {
      // check if the real remote object is a system file or directory
      TRemoteObject *robj = (TRemoteObject *)obj;
      if ((TString(robj->GetClassName()) == "TSystemFile") ||
          (TString(robj->GetClassName()) == "TSystemDirectory"))
         isSystemFile = kTRUE;
   }

   if (isSystemFile || obj->IsA() == TSystemFile::Class() ||
       obj->IsA() == TSystemDirectory::Class()) {
      if (fCheckHeaders) {
         if (strcmp(fListView->GetHeader(1), "Attributes")) {
            fListView->SetDefaultHeaders();
            TGTextButton** buttons = fListView->GetHeaderButtons();
            if (buttons) {
               buttons[0]->Connect("Clicked()", "TRootBrowserLite", fBrowser,
                                   TString::Format("SetSortMode(=%d)", kViewArrangeByName));
               buttons[1]->Connect("Clicked()", "TRootBrowserLite", fBrowser,
                                   TString::Format("SetSortMode(=%d)", kViewArrangeByType));
               buttons[2]->Connect("Clicked()", "TRootBrowserLite", fBrowser,
                                   TString::Format("SetSortMode(=%d)", kViewArrangeBySize));
               buttons[5]->Connect("Clicked()", "TRootBrowserLite", fBrowser,
                                   TString::Format("SetSortMode(=%d)", kViewArrangeByDate));
            }
         }
         fCheckHeaders = kFALSE;
      }

      TIconBoxThumb *thumb = 0;
      char *thumbname = gSystem->ConcatFileName(gSystem->WorkingDirectory(), name);
      thumb = (TIconBoxThumb *)fThumbnails->FindObject(gSystem->IsAbsoluteFileName(name) ? name :
                                                       thumbname);
      delete []thumbname;

      if (thumb) {
         spic = thumb->fSmall;
         pic =  thumb->fLarge;
      }

      if (obj->InheritsFrom("TRemoteObject"))
         // special case for remote object
         fi = AddRemoteFile(obj, spic, pic);
      else
         fi = AddFile(name, spic, pic);
      if (fi) {
         fi->SetUserData(obj);
         if (obj->IsA() == TSystemFile::Class()) {
            TString str;
            TDNDData data;
            str = TString::Format("file://%s/%s\r\n",
                                  gSystem->UnixPathName(obj->GetTitle()),
                                  obj->GetName());
            data.fData = (void *)str.Data();
            data.fDataLength = str.Length()+1;
            data.fDataType = gVirtualX->InternAtom("text/uri-list", kFALSE);
            fi->SetDNDData(&data);
            fi->SetDNDSource(kTRUE);
         }
      }

      fIsEmpty = kFALSE;
      return;
   }

   if (!fCurrentList) {
      fCurrentList = new TRootIconList(this);
      fGarbage->Add(fCurrentList);
   }

   fCurrentList->Add(obj);
   fCurrentList->UpdateName();
   fIsEmpty = kFALSE;

   TGFrameElement *el;
   TIter next(fList);
   while ((el = (TGFrameElement *) next())) {
      TGLVEntry *f = (TGLVEntry *) el->fFrame;
      if (f->GetUserData() == obj) {
         return;
      }
   }

   if (fGrouped && fCurrentItem && (fCurrentList->GetSize()>1)) {
      fCurrentName->SetString(fCurrentList->GetName());
   }

   EListViewMode view = fListView->GetViewMode();

   if ((fCurrentList->GetSize() < fGroupSize) && !fGrouped) {
      GetObjPictures(&pic, &spic, obj, obj->GetIconName() ?
                     obj->GetIconName() : cl->GetName());

      if (fCheckHeaders) {
         if (strcmp(fListView->GetHeader(1), "Title")) {
            SetObjHeaders();
         }
         fCheckHeaders = kFALSE;
      }

      fi = new TRootObjItem(this, pic, spic, new TGString(name), obj, cl, view);

      fi->SetUserData(obj);
      AddItem(fi);
      return;
   }

   if (fGrouped && (fCurrentList->GetSize()==1)) {
      fCurrentName = new TGString(fCurrentList->GetName());
      fCurrentItem = new TRootObjItem(this, fCurrentList->GetPicture(), fCurrentList->GetPicture(),
                                      fCurrentName,fCurrentList, TList::Class(), view);
      fCurrentItem->SetUserData(fCurrentList);
      AddItem(fCurrentItem);
      fTotal = fList->GetSize();
      return;
   }

   if ((fCurrentList->GetSize()==fGroupSize) && !fGrouped) {
      fGrouped = kTRUE;

      // clear fList
      TGFrameElement *el2;
      TIter nextl(fList);

      while ((el2 = (TGFrameElement *) nextl())) {
         el2->fFrame->DestroyWindow();
         delete el2->fFrame;
         fList->Remove(el2);
         delete el2;
      }

      fCurrentName = new TGString(fCurrentList->GetName());
      fi = new TRootObjItem(this, fCurrentList->GetPicture(), fCurrentList->GetPicture(),
                            fCurrentName, fCurrentList, TList::Class(), view);
      fi->SetUserData(fCurrentList);
      AddItem(fi);

      fCurrentList = new TRootIconList(this);
      fGarbage->Add(fCurrentList);
      fTotal = 1;
      return;
   }

   if ((fCurrentList->GetSize()==fGroupSize) && fGrouped) {
      fCurrentList = new TRootIconList(this);
      fGarbage->Add(fCurrentList);
      return;
   }
}

//______________________________________________________________________________
void TRootIconList::Browse(TBrowser *)
{
   // browse icon list

   if (!fIconBox) return;

   TObject *obj;
   TGFileItem *fi;
   const TGPicture *pic = 0;
   const TGPicture *spic = 0;
   TClass *cl;
   TString name;
   TKey *key = 0;

   fIconBox->RemoveAll();
   TObjLink *lnk = FirstLink();

   while (lnk) {
      obj = lnk->GetObject();
      lnk = lnk->Next();

      if (obj->IsA() == TKey::Class()) {
         cl = TClass::GetClass(((TKey *)obj)->GetClassName());
         key = (TKey *)obj;
      } else if (obj->IsA() == TKeyMapFile::Class()) {
         cl = TClass::GetClass(((TKeyMapFile *)obj)->GetTitle());
      } else if (obj->InheritsFrom("TRemoteObject")) {
         // special case for remote object: get real object class
         TRemoteObject *robj = (TRemoteObject *)obj;
         cl = TClass::GetClass(robj->GetClassName());
      } else {
         cl = obj->IsA();
      }

      name = obj->GetName();

      if (key && obj->IsA() == TKey::Class()) {
         name += ";";
         name +=  key->GetCycle();
      }

      fIconBox->GetObjPictures(&pic, &spic, obj, obj->GetIconName() ?
                               obj->GetIconName() : cl->GetName());

      fi = new TRootObjItem((const TGWindow*)fIconBox, pic, spic, new TGString(name.Data()),
                             obj, cl, (EListViewMode)fIconBox->GetViewMode());
      fi->SetUserData(obj);
      fIconBox->AddItem(fi);
      fIconBox->fTotal++;

      if (obj==fIconBox->fActiveObject) {
         fIconBox->ActivateItem((TGFrameElement*)fIconBox->fList->Last());
      }
   }

   fIconBox->fGarbage->Remove(this);
   fIconBox->RemoveGarbage();
   fIconBox->fGarbage->Add(this); // delete this later

   fIconBox->Refresh();
   fIconBox->AdjustPosition();

   fIconBox->fWasGrouped = kTRUE;
}

//______________________________________________________________________________
void *TRootIconBox::FindItem(const TString& name, Bool_t direction,
                             Bool_t caseSensitive,Bool_t beginWith)
{
   // Find a frame which assosiated object has a name containing a "name" string.

   if (!fGrouped) {
      return TGContainer::FindItem(name, direction, caseSensitive, beginWith);
   }

   if (name.IsNull()) return 0;
   int idx = kNPOS;

   TGFrameElement* el = 0;
   TString str;
   TString::ECaseCompare cmp = caseSensitive ? TString::kExact : TString::kIgnoreCase;

   fLastDir = direction;
   fLastCase = caseSensitive;
   fLastName = name;

   if (fLastActiveEl) {
      el = fLastActiveEl;

      if (direction) {
         el = (TGFrameElement *)fList->After(el);
      } else {
         el = (TGFrameElement *)fList->Before(el);
      }
   } else {
      if (direction) el = (TGFrameElement *)fList->First();
      else el  = (TGFrameElement *)fList->Last();
   }

   TGLVEntry* lv = 0;
   TObject* obj = 0;
   TList* li = 0;

   while (el) {
      lv = (TGLVEntry*)el->fFrame;
      li = (TList*)lv->GetUserData();

      TIter next(li);

      while ((obj=next())) {
         str = obj->GetName();
         idx = str.Index(name,0,cmp);

         if (idx!=kNPOS) {
            if (beginWith) {
               if (idx==0) {
                  fActiveObject = obj;
                  return el;
               }
            } else {
               fActiveObject = obj;
               return el;
            }
         }
      }
      if (direction) {
         el = (TGFrameElement *)fList->After(el);
      } else {
         el = (TGFrameElement *)fList->Before(el);
      }
   }
   fActiveObject = 0;
   return 0;
}

//______________________________________________________________________________
void TRootIconBox::SetObjHeaders()
{
   // Set list box headers used to display detailed object iformation.
   // Currently this is only "Name" and "Title".

   fListView->SetHeaders(2);
   fListView->SetHeader("Name",  kTextLeft, kTextLeft, 0);
   fListView->SetHeader("Title", kTextLeft, kTextLeft, 1);
}

//______________________________________________________________________________
void TRootIconBox::Refresh()
{
   // Sort icons, and send message to browser with number of objects
   // in box.

   // This automatically calls layout
   Sort(fSortType);

   // Make TRootBrowserLite display total objects in status bar
   SendMessage(fMsgWindow, MK_MSG(kC_CONTAINER, kCT_SELCHANGED), fTotal, fSelected);

   MapSubwindows();
   fListView->AdjustHeaders();
}

//______________________________________________________________________________
void TRootIconBox::RemoveAll()
{
   // Remove all items from icon box

   if (fIsEmpty) return;

   fCheckHeaders = kTRUE;
   TGFileContainer::RemoveAll();
   fGrouped = kFALSE;
   fCurrentItem = 0;
   fCurrentList = 0;
   fIsEmpty = kTRUE;
}


//_____________________________________________________________________________
//
// TRootBrowserLite
//
// ROOT object browser (looking like Windows Explorer).
//_____________________________________________________________________________

ClassImp(TRootBrowserLite)

//______________________________________________________________________________
TRootBrowserLite::TRootBrowserLite(TBrowser *b, const char *name, UInt_t width, UInt_t height)
   : TGMainFrame(gClient->GetDefaultRoot(), width, height), TBrowserImp(b)
{
   // Create browser with a specified width and height.

   CreateBrowser(name);

   Resize(width, height);
   if (b) Show();
}

//______________________________________________________________________________
TRootBrowserLite::TRootBrowserLite(TBrowser *b, const char *name, Int_t x, Int_t y,
                           UInt_t width, UInt_t height)
   : TGMainFrame(gClient->GetDefaultRoot(), width, height), TBrowserImp(b)
{
   // Create browser with a specified width and height and at position x, y.

   CreateBrowser(name);

   MoveResize(x, y, width, height);
   SetWMPosition(x, y);
   if (b) Show();
}

//______________________________________________________________________________
TRootBrowserLite::~TRootBrowserLite()
{
   // Browser destructor.

   if (fIconPic) gClient->FreePicture(fIconPic);

   delete fToolBarSep;

   fToolBar->Cleanup();
   delete fToolBar;
   delete fStatusBar;
   delete fV1;
   delete fV2;
   delete fLbl1;
   delete fLbl2;
   delete fHf;
   delete fTreeHdr;
   delete fListHdr;
   delete fIconBox;
   delete fListView;
   delete fLt;
   delete fTreeView;

   delete fMenuBar;
   delete fFileMenu;
   delete fViewMenu;
   delete fOptionMenu;
   delete fHelpMenu;
   delete fSortMenu;

   delete fMenuBarLayout;
   delete fMenuBarItemLayout;
   delete fMenuBarHelpLayout;
   delete fBarLayout;

   delete fTextEdit;

   if (fWidgets) fWidgets->Delete();
   delete fWidgets;

   fHistory->Delete();
   delete fHistory;
}

//______________________________________________________________________________
void TRootBrowserLite::CreateBrowser(const char *name)
{
   // Create the actual browser.

   fWidgets = new TList;
   fHistory = new TRootBrowserHistory;
   fHistoryCursor = 0;
   fBrowseTextFile = kFALSE;

   // Create menus
   fFileMenu = new TGPopupMenu(fClient->GetDefaultRoot());
   fFileMenu->AddEntry("&New Browser",        kFileNewBrowser);
   fFileMenu->AddEntry("New Browser &Lite",   kFileNewBrowserLite);
   fFileMenu->AddEntry("New Canvas",          kFileNewCanvas);
   fFileMenu->AddEntry("&Gui Builder",        kFileNewBuilder);
   fFileMenu->AddEntry("&Open...",            kFileOpen);
   fFileMenu->AddSeparator();
   fFileMenu->AddEntry("&Save",               kFileSave);
   fFileMenu->AddEntry("Save &As...",         kFileSaveAs);
   fFileMenu->AddSeparator();
   fFileMenu->AddEntry("&Print...",           kFilePrint);
   fFileMenu->AddSeparator();
   fFileMenu->AddEntry("&Close Browser",      kFileCloseBrowser);
   fFileMenu->AddSeparator();
   fFileMenu->AddEntry("&Quit ROOT",          kFileQuit);

   //fFileMenu->DefaultEntry(kFileNewCanvas);
   fFileMenu->DisableEntry(kFileSave);
   fFileMenu->DisableEntry(kFileSaveAs);
   fFileMenu->DisableEntry(kFilePrint);

   fSortMenu = new TGPopupMenu(fClient->GetDefaultRoot());
   fSortMenu->AddEntry("By &Name",            kViewArrangeByName);
   fSortMenu->AddEntry("By &Type",            kViewArrangeByType);
   fSortMenu->AddEntry("By &Size",            kViewArrangeBySize);
   fSortMenu->AddEntry("By &Date",            kViewArrangeByDate);
   fSortMenu->AddSeparator();
   fSortMenu->AddEntry("&Auto Arrange",       kViewArrangeAuto);

   fSortMenu->CheckEntry(kViewArrangeAuto);

   fViewMenu = new TGPopupMenu(fClient->GetDefaultRoot());
   fViewMenu->AddEntry("&Toolbar",            kViewToolBar);
   fViewMenu->AddEntry("Status &Bar",         kViewStatusBar);
   fViewMenu->AddSeparator();
   fViewMenu->AddEntry("Lar&ge Icons",        kViewLargeIcons);
   fViewMenu->AddEntry("S&mall Icons",        kViewSmallIcons);
   fViewMenu->AddEntry("&List",               kViewList);
   fViewMenu->AddEntry("&Details",            kViewDetails);
   fViewMenu->AddSeparator();
   fViewMenu->AddEntry("Show &Hidden",        kViewHidden);
   fViewMenu->AddPopup("Arrange &Icons",      fSortMenu);
   fViewMenu->AddEntry("Lin&e up Icons",      kViewLineUp);
   fViewMenu->AddEntry("&Group Icons",        kViewGroupLV);

   fViewMenu->AddSeparator();
   fViewMenu->AddEntry("&Refresh (F5)",       kViewRefresh);

   fViewMenu->CheckEntry(kViewToolBar);
   fViewMenu->CheckEntry(kViewStatusBar);

   if (fBrowser) {
      if (gEnv->GetValue("Browser.ShowHidden", 0)) {
         fViewMenu->CheckEntry(kViewHidden);
         fBrowser->SetBit(TBrowser::kNoHidden, kFALSE);
      } else {
         fViewMenu->UnCheckEntry(kViewHidden);
         fBrowser->SetBit(TBrowser::kNoHidden, kTRUE);
      }
   }

   fOptionMenu = new TGPopupMenu(fClient->GetDefaultRoot());
   fOptionMenu->AddEntry("&Show Cycles",        kOptionShowCycles);
   fOptionMenu->AddEntry("&AutoThumbnail",      kOptionAutoThumbnail);

   fHelpMenu = new TGPopupMenu(fClient->GetDefaultRoot());
   fHelpMenu->AddEntry("&About ROOT...",        kHelpAbout);
   fHelpMenu->AddSeparator();
   fHelpMenu->AddEntry("Help On Browser...",    kHelpOnBrowser);
   fHelpMenu->AddEntry("Help On Canvas...",     kHelpOnCanvas);
   fHelpMenu->AddEntry("Help On Menus...",      kHelpOnMenus);
   fHelpMenu->AddEntry("Help On Graphics Editor...", kHelpOnGraphicsEd);
   fHelpMenu->AddEntry("Help On Objects...",    kHelpOnObjects);
   fHelpMenu->AddEntry("Help On PostScript...", kHelpOnPS);
   fHelpMenu->AddEntry("Help On Remote Session...", kHelpOnRemote);

   // This main frame will process the menu commands
   fFileMenu->Associate(this);
   fViewMenu->Associate(this);
   fSortMenu->Associate(this);
   fOptionMenu->Associate(this);
   fHelpMenu->Associate(this);

   // Create menubar layout hints
   fMenuBarLayout = new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 0, 0, 1, 1);
   fMenuBarItemLayout = new TGLayoutHints(kLHintsTop | kLHintsLeft, 0, 4, 0, 0);
   fMenuBarHelpLayout = new TGLayoutHints(kLHintsTop | kLHintsRight);

   // Create menubar
   fMenuBar = new TGMenuBar(this, 1, 1, kHorizontalFrame);
   fMenuBar->AddPopup("&File",    fFileMenu,    fMenuBarItemLayout);
   fMenuBar->AddPopup("&View",    fViewMenu,    fMenuBarItemLayout);
   fMenuBar->AddPopup("&Options", fOptionMenu,  fMenuBarItemLayout);
   fMenuBar->AddPopup("&Help",    fHelpMenu,    fMenuBarHelpLayout);

   AddFrame(fMenuBar, fMenuBarLayout);

   // Create toolbar and separator

   fToolBarSep = new TGHorizontal3DLine(this);
   fToolBar = new TGToolBar(this, 60, 20, kHorizontalFrame);
   fFSComboBox = new TGFSComboBox(fToolBar, kFSComboBox);

   fComboLayout = new TGLayoutHints(kLHintsLeft | kLHintsExpandY, 0, 0, 2, 2);
   fToolBar->AddFrame(fFSComboBox, fComboLayout);
   fFSComboBox->Resize(190, fFSComboBox->GetDefaultHeight());
   fFSComboBox->Associate(this);

   int spacing = 8;

   for (int i = 0; gToolBarData[i].fPixmap; i++) {
      if (strlen(gToolBarData[i].fPixmap) == 0) {
         spacing = 8;
         continue;
      }
      fToolBar->AddButton(this, &gToolBarData[i], spacing);
      spacing = 0;
   }

   fDrawOption = new TGComboBox(fToolBar, "");
   TGTextEntry *dropt_entry = fDrawOption->GetTextEntry();
   dropt_entry->SetToolTipText("Object Draw Option", 300);
   fDrawOption->Resize(80, 10);
   TGListBox *lb = fDrawOption->GetListBox();
   lb->Resize(lb->GetWidth(), 120);
   Int_t dropt = 1;
   fDrawOption->AddEntry("", dropt++);
   fDrawOption->AddEntry("same", dropt++);
   fDrawOption->AddEntry("box", dropt++);
   fDrawOption->AddEntry("lego", dropt++);
   fDrawOption->AddEntry("colz", dropt++);
   fDrawOption->AddEntry("alp", dropt++);
   fDrawOption->AddEntry("text", dropt++);

   fToolBar->AddFrame(fDrawOption, new TGLayoutHints(kLHintsCenterY | kLHintsRight | kLHintsExpandY,2,2,2,0));
   fToolBar->AddFrame(new TGLabel(fToolBar,"Option"),
                      new TGLayoutHints(kLHintsCenterY | kLHintsRight, 2,2,2,0));

   fBarLayout = new TGLayoutHints(kLHintsTop | kLHintsExpandX);
   AddFrame(fToolBarSep, fBarLayout);
   AddFrame(fToolBar, fBarLayout);

   // Create panes

   fHf = new TGHorizontalFrame(this, 10, 10);

   fV1 = new TGVerticalFrame(fHf, 10, 10, kFixedWidth);
   fV2 = new TGVerticalFrame(fHf, 10, 10);
   fTreeHdr = new TGCompositeFrame(fV1, 10, 10, kSunkenFrame);
   fListHdr = new TGCompositeFrame(fV2, 10, 10, kSunkenFrame);

   fLbl1 = new TGLabel(fTreeHdr, "All Folders");
   fLbl2 = new TGLabel(fListHdr, "Contents of \".\"");

   TGLayoutHints *lo;

   lo = new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 3, 0, 0, 0);
   fWidgets->Add(lo);
   fTreeHdr->AddFrame(fLbl1, lo);
   fListHdr->AddFrame(fLbl2, lo);

   lo = new TGLayoutHints(kLHintsTop | kLHintsExpandX, 0, 0, 1, 2);
   fWidgets->Add(lo);
   fV1->AddFrame(fTreeHdr, lo);
   fV2->AddFrame(fListHdr, lo);

   fV1->Resize(fTreeHdr->GetDefaultWidth()+100, fV1->GetDefaultHeight());

   lo = new TGLayoutHints(kLHintsLeft | kLHintsExpandY);
   fWidgets->Add(lo);
   fHf->AddFrame(fV1, lo);

   TGVSplitter *splitter = new TGVSplitter(fHf);
   splitter->SetFrame(fV1, kTRUE);
   lo = new TGLayoutHints(kLHintsLeft | kLHintsExpandY);
   fWidgets->Add(splitter);
   fWidgets->Add(lo);
   fHf->AddFrame(splitter, lo);

   lo = new TGLayoutHints(kLHintsRight | kLHintsExpandX | kLHintsExpandY);
   fWidgets->Add(lo);
   fHf->AddFrame(fV2, lo);

   // Create tree
   fTreeView = new TGCanvas(fV1, 10, 10, kSunkenFrame | kDoubleBorder); // canvas
   fLt = new TGListTree(fTreeView, kHorizontalFrame,fgWhitePixel); // container
   fLt->Associate(this);
   fLt->SetAutoTips();

   fExpandLayout = new TGLayoutHints(kLHintsExpandX | kLHintsExpandY);
   fWidgets->Add(fExpandLayout);
   fV1->AddFrame(fTreeView, fExpandLayout);

   // Create list view (icon box)
   fListView = new TGListView(fV2, 520, 250); // canvas
   // container
   fIconBox = new TRootIconBox(this, fListView, kHorizontalFrame, fgWhitePixel);
   fIconBox->Associate(this);
   fListView->SetIncrements(1, 19); // set vertical scroll one line height at a time
   fViewMode = fListView->GetViewMode();

   TString str = gEnv->GetValue("Browser.AutoThumbnail", "yes");
   str.ToLower();
   fIconBox->fAutoThumbnail = (str == "yes") || atoi(str.Data());
   fIconBox->fAutoThumbnail ? fOptionMenu->CheckEntry(kOptionAutoThumbnail) :
                              fOptionMenu->UnCheckEntry(kOptionAutoThumbnail);

   str = gEnv->GetValue("Browser.GroupView", "10000");
   Int_t igv = atoi(str.Data());

   if (igv>10) {
      fViewMenu->CheckEntry(kViewGroupLV);
      fIconBox->SetGroupSize(igv);
   }

   // reuse lo from "create tree"
   fV2->AddFrame(fListView, fExpandLayout);

   AddFrame(fHf, lo);

   // Statusbar

   int parts[] = { 26, 74 };
   fStatusBar = new TGStatusBar(this, 60, 10);
   fStatusBar->SetParts(parts, 2);
   lo = new TGLayoutHints(kLHintsBottom | kLHintsExpandX, 0, 0, 3, 0);
   AddFrame(fStatusBar, lo);

   fTextEdit = 0;

   // Misc
   TString bname(name);
   bname.Prepend("Old ");
   SetWindowName(bname.Data());
   SetIconName(bname.Data());
   fIconPic = SetIconPixmap("rootdb_s.xpm");
   SetClassHints("ROOT", "Browser");

   SetWMSizeHints(600, 350, 10000, 10000, 2, 2);

   fListLevel = 0;
   fTreeLock  = kFALSE;

   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Escape), 0, kTRUE);
   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_F5), 0, kTRUE);
   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Right), kKeyMod1Mask, kTRUE);
   gVirtualX->GrabKey(fId, gVirtualX->KeysymToKeycode(kKey_Left), kKeyMod1Mask, kTRUE);
   ClearHistory();
   SetEditDisabled(kEditDisable);

   gVirtualX->SetDNDAware(fId, fDNDTypeList);
   MapSubwindows();
   SetDefaults();
   Resize();
   ShowMacroButtons(kFALSE);

   printf("\n You are using the old ROOT browser! A new version is available. To use it:\n");
   printf(" Select the \"New Browser\" entry from the \"File\" menu in the browser, or change\n");
   printf(" \"Browser.Name:\" from \"TRootBrowserLite\" to \"TRootBrowser\" in system.rootrc\n\n");

   Connect(fLt, "Checked(TObject*, Bool_t)", "TRootBrowserLite",
           this, "Checked(TObject *,Bool_t)");
}

//______________________________________________________________________________
Bool_t TRootBrowserLite::HandleKey(Event_t *event)
{
   // handle keys

   if (event->fType == kGKeyPress) {
      UInt_t keysym;
      char input[10];
      gVirtualX->LookupString(event, input, sizeof(input), keysym);

      if (!event->fState && (EKeySym)keysym == kKey_F5) {
         Refresh(kTRUE);
         return kTRUE;
      }
      if (!event->fState && (EKeySym)keysym == kKey_Escape) {
         if (gDNDManager->IsDragging()) gDNDManager->EndDrag();
      }

      if (event->fState & kKeyMod1Mask) {
         switch ((EKeySym)keysym & ~0x20) {
            case kKey_Right:
               HistoryForward();
               return kTRUE;
            case kKey_Left:
               HistoryBackward();
               return kTRUE;
            default:
               break;
         }
      }
   }
   return TGMainFrame::HandleKey(event);
}

//______________________________________________________________________________
void TRootBrowserLite::Add(TObject *obj, const char *name, Int_t check)
{
   // Add items to the browser. This function has to be called
   // by the Browse() member function of objects when they are
   // called by a browser. If check < 0 (default) no check box is drawn,
   // if 0 then unchecked checkbox is added, if 1 checked checkbox is added.

   if (!obj)
      return;
   if (obj->InheritsFrom("TObjectSpy"))
      return;
   if (!name) name = obj->GetName();

   AddToBox(obj, name);
   if (check > -1) {
      TGFrameElement *el;
      TIter next(fIconBox->fList);
      if (!obj->IsFolder()) {
         while ((el = (TGFrameElement *) next())) {
            TGLVEntry *f = (TGLVEntry *) el->fFrame;
            if (f->GetUserData() == obj) {
               f->SetCheckedEntry(check);
            }
         }
      }
   }

   // Don't show current dir and up dir links in the tree
   if (name[0] == '.' && ((name[1] == '\0') || (name[1] == '.' && name[2] == '\0')))
      return;

   if (obj->IsFolder())
      AddToTree(obj, name, check);
}

//______________________________________________________________________________
void TRootBrowserLite::AddCheckBox(TObject *obj, Bool_t check)
{
   // Add a checkbox in the TGListTreeItem corresponding to obj
   // and a checkmark on TGLVEntry if check = kTRUE.

   if (obj) {
      TGListTreeItem *item = fLt->FindItemByObj(fLt->GetFirstItem(), obj);
      while (item) {
         fLt->SetCheckBox(item, kTRUE);
         fLt->CheckItem(item, check);
         item = fLt->FindItemByObj(item->GetNextSibling(), obj);
      }
      TGFrameElement *el;
      TIter next(fIconBox->fList);
      while ((el = (TGFrameElement *) next())) {
         TGLVEntry *f = (TGLVEntry *) el->fFrame;
         if (f->GetUserData() == obj) {
            f->SetCheckedEntry(check);
         }
      }
   }
}

//______________________________________________________________________________
void TRootBrowserLite::CheckObjectItem(TObject *obj, Bool_t check)
{
   // Check / uncheck the TGListTreeItem corresponding to this
   // object and add a checkmark on TGLVEntry if check = kTRUE.

   if (obj) {
      TGListTreeItem *item = fLt->FindItemByObj(fLt->GetFirstItem(), obj);
      while (item) {
         fLt->CheckItem(item, check);
         item = fLt->FindItemByObj(item->GetNextSibling(), obj);
         TGFrameElement *el;
         TIter next(fIconBox->fList);
         if (!obj->IsFolder()) {
            while ((el = (TGFrameElement *) next())) {
               TGLVEntry *f = (TGLVEntry *) el->fFrame;
               if (f->GetUserData() == obj) {
                  f->SetCheckedEntry(check);
               }
            }
         }
      }
   }
}

//______________________________________________________________________________
void TRootBrowserLite::RemoveCheckBox(TObject *obj)
{
   // Remove checkbox from TGListTree and checkmark from TGListView.

   if (obj) {
      TGListTreeItem *item = fLt->FindItemByObj(fLt->GetFirstItem(), obj);
      while (item) {
         fLt->SetCheckBox(item, kFALSE);
         item = fLt->FindItemByObj(item->GetNextSibling(), obj);
         TGFrameElement *el;
         TIter next(fIconBox->fList);
         if (!obj->IsFolder()) {
            while ((el = (TGFrameElement *) next())) {
               TGLVEntry *f = (TGLVEntry *) el->fFrame;
               if (f->GetUserData() == obj) {
                  f->SetCheckedEntry(kFALSE);
               }
            }
         }
      }
   }
}

//______________________________________________________________________________
void TRootBrowserLite::AddToBox(TObject *obj, const char *name)
{
   // Add items to the iconbox of the browser.

   if (obj) {
      if (!name) name = obj->GetName() ? obj->GetName() : "NoName";
      //const char *titlePtr = obj->GetTitle() ? obj->GetTitle() : " ";

      TClass *objClass = 0;

      if (obj->IsA() == TKey::Class())
         objClass = TClass::GetClass(((TKey *)obj)->GetClassName());
      else if (obj->IsA() == TKeyMapFile::Class())
         objClass = TClass::GetClass(((TKeyMapFile *)obj)->GetTitle());
      else if (obj->InheritsFrom("TRemoteObject")) {
         // special case for remote object: get real object class
         TRemoteObject *robj = (TRemoteObject *)obj;
         if (!strcmp(robj->GetClassName(), "TKey"))
            objClass = TClass::GetClass(robj->GetKeyClassName());
         else
            objClass = TClass::GetClass(robj->GetClassName());
      }
      else
         objClass = obj->IsA();

      fIconBox->AddObjItem(name, obj, objClass);
   }
}

//______________________________________________________________________________
void TRootBrowserLite::AddToTree(TObject *obj, const char *name, Int_t check)
{
   // Add items to the current TGListTree of the browser.

   if (!obj)
      return;
   if (obj->InheritsFrom("TApplication"))
      fListLevel = 0;
   if (!fTreeLock) {
      if (!name) name = obj->GetName();
      if (name[0] == '.' && name[1] == '.')
         Info("AddToTree", "up one level %s", name);
      if(check > -1) {
         TGListTreeItem *item = fLt->AddItem(fListLevel, name, obj, 0, 0, kTRUE);
         if (item) fLt->CheckItem(item, (Bool_t)check);
         TString tip(obj->ClassName());
         if (obj->GetTitle()) {
            tip += " ";
            tip += obj->GetTitle();
         }
         fLt->SetToolTipItem(item, tip.Data());
      } else {
         // special case for remote object
         if (obj->InheritsFrom("TRemoteObject")) {
            // Nothing to do
         } else if (fListLevel) {
            // check also if one of its parents is a remote object
            TGListTreeItem *top = fListLevel;
            while (top->GetParent()) {
               TObject *tobj = (TObject *) top->GetUserData();
               if (tobj && (tobj->InheritsFrom("TRemoteObject") ||
                  tobj->InheritsFrom("TApplicationRemote"))) {
                  break;
               }
               top = top->GetParent();
            }
         }
         // add the object only if not already in the list
         if ((!fLt->FindChildByName(fListLevel, name)) &&
             (!fLt->FindChildByData(fListLevel, obj))) {
            TGListTreeItem *it = fLt->AddItem(fListLevel, name, obj);
            Long64_t bsize, fsize, objsize = 0;
            TString objinfo = obj->GetObjectInfo(1, 1);
            TString infos = obj->GetName();
            infos += "\n";
            infos += obj->GetTitle();
            if (!objinfo.IsNull() && !objinfo.BeginsWith("x=")) {
               objsize = objinfo.Atoll();
               if (objsize > 0) {
                  infos += "\n";
                  bsize = fsize = objsize;
                  if (fsize > 1024) {
                     fsize /= 1024;
                     if (fsize > 1024) {
                        // 3.7MB is more informative than just 3MB
                        infos += TString::Format("Size: %lld.%lldM", fsize/1024,
                                                 (fsize%1024)/103);
                     } else {
                        infos += TString::Format("Size: %lld.%lldK", bsize/1024,
                                                 (bsize%1024)/103);
                     }
                  } else {
                     infos += TString::Format("Size: %lld bytes", bsize);
                  }
               }
            }
            if (it)
               it->SetTipText(infos.Data());
         }
      }
   }
}

//______________________________________________________________________________
void TRootBrowserLite::BrowseObj(TObject *obj)
{
   // Browse object. This, in turn, will trigger the calling of
   // TRootBrowserLite::Add() which will fill the IconBox and the tree.
   // Emits signal "BrowseObj(TObject*)".

   TGPosition pos = fIconBox->GetPagePosition();
   Emit("BrowseObj(TObject*)", (Long_t)obj);

   if (obj != gROOT) {
      if (!fLt->FindItemByObj(fLt->GetFirstItem(), obj)) {
         fListLevel = 0;
         Add(obj);
         fListLevel = fLt->FindItemByObj(fLt->GetFirstItem(), obj);
         fLt->HighlightItem(fListLevel);
         if (obj->IsFolder())
            fLt->OpenItem(fListLevel);
         fLt->ClearViewPort();
         fLt->AdjustPosition(fListLevel);
      }
   }

   if (obj->IsFolder()) fIconBox->RemoveAll();
   obj->Browse(fBrowser);
   if ((fListLevel && obj->IsFolder()) || (!fListLevel && (obj == gROOT))) {
      fIconBox->Refresh();
   }

   if (fBrowser) {
      fBrowser->SetRefreshFlag(kFALSE);
   }
   UpdateDrawOption();

   fIconBox->SetHsbPosition(pos.fX);
   fIconBox->SetVsbPosition(pos.fY);
}

//______________________________________________________________________________
void TRootBrowserLite::UpdateDrawOption()
{
   // add new draw option to the "history"

   TString opt = GetDrawOption();
   TGListBox *lb = fDrawOption->GetListBox();
   TGLBContainer *lbc = (TGLBContainer *)lb->GetContainer();

   TIter next(lbc->GetList());
   TGFrameElement *el;

   while ((el = (TGFrameElement *)next())) {
      TGTextLBEntry *lbe = (TGTextLBEntry *)el->fFrame;
      if (lbe->GetText()->GetString() == opt) {
         return;
      }
   }

   Int_t nn = fDrawOption->GetNumberOfEntries() + 1;
   fDrawOption->AddEntry(opt.Data(), nn);
   fDrawOption->Select(nn);
}

//______________________________________________________________________________
TGFileContainer *TRootBrowserLite::GetIconBox() const
{
   // returns pointer to fIconBox object

   return (TGFileContainer*)fIconBox;
}

//______________________________________________________________________________
void TRootBrowserLite::ReallyDelete()
{
   // Really delete the browser and the this GUI.

   gInterpreter->DeleteGlobal(fBrowser);
   if (fBrowser->IsOnHeap())
      delete fBrowser; // will in turn delete this object
   else
      fBrowser->Destructor(); // will in turn delete this object
}

//______________________________________________________________________________
void TRootBrowserLite::CloseWindow()
{
   // In case window is closed via WM we get here.

   DeleteWindow();
}

//______________________________________________________________________________
void TRootBrowserLite::DisplayTotal(Int_t total, Int_t selected)
{
   // Display in statusbar total number of objects and number of
   // selected objects in IconBox.

   char tmp[64];
   const char *fmt;

   if (selected)
      fmt = "%d Object%s, %d selected.";
   else
      fmt = "%d Object%s.";

   snprintf(tmp, 64, fmt, total, (total == 1) ? "" : "s", selected);
   fStatusBar->SetText(tmp, 0);
}

//______________________________________________________________________________
void TRootBrowserLite::DisplayDirectory()
{
   // Display current directory in second label, fLbl2.

   char *p, path[1024];

   fLt->GetPathnameFromItem(fListLevel, path, 12);
   p = path;
   while (*p && *(p+1) == '/') ++p;
   if (!p[0])
      fLbl2->SetText(new TGString("Contents of \".\""));
   else
      fLbl2->SetText(new TGString(Form("Contents of \"%s\"", p)));
   fListHdr->Layout();

   // Get full pathname for FS combobox (previously truncated to 12 levels deep)
   fLt->GetPathnameFromItem(fListLevel, path);
   p = path;
   while (*p && *(p+1) == '/') ++p;
   fFSComboBox->Update(p);

   if (fListLevel) {
      // disable/enable up level navigation
      TGButton *btn = fToolBar->GetButton(kOneLevelUp);
      const char *dirname = gSystem->DirName(p);
      Bool_t disableUp;

      TObject *obj = (TObject*)fListLevel->GetUserData();
      disableUp = (strlen(dirname) == 1) && (*dirname == '/');

      // normal file directory
      if (disableUp && (obj) && (obj->IsA() == TSystemDirectory::Class())) {
         disableUp = strlen(p) == 1;
      }
      btn->SetState(disableUp ? kButtonDisabled : kButtonUp);
      AddToHistory(fListLevel);
   }
}

//____________________________________________________________________________
void TRootBrowserLite::ExecuteDefaultAction(TObject *obj)
{
   // Execute default action for selected object (action is specified
   // in the $HOME/.root.mimes or $ROOTSYS/etc/root.mimes file.
   // Emits signal "ExecuteDefaultAction(TObject*)".

   TRootBrowserCursorSwitcher cursorSwitcher(fIconBox, fLt);
   char action[512];
   fBrowser->SetDrawOption(GetDrawOption());
   TVirtualPad *wasp = gPad ? (TVirtualPad*)gPad->GetCanvas() : 0;
   TFile *wasf = gFile;

   // Special case for file system objects...
   if (obj->IsA() == TSystemFile::Class() ||
       obj->InheritsFrom("TRemoteObject")) {
      TString act;
      TString ext = obj->GetName();

      if (fClient->GetMimeTypeList()->GetAction(obj->GetName(), action)) {
         act = action;
         act.ReplaceAll("%s", obj->GetName());
         gInterpreter->SaveGlobalsContext();

         if (act[0] == '!') {
            act.Remove(0, 1);
            gSystem->Exec(act.Data());
         } else {
            // special case for remote object: remote process
            if (obj->InheritsFrom("TRemoteObject"))
               gApplication->SetBit(TApplication::kProcessRemotely);
            gApplication->ProcessLine(act.Data());
         }
         Emit("ExecuteDefaultAction(TObject*)", (Long_t)obj);
      }

      // special case for remote object: browse real object
      if (obj->InheritsFrom("TRemoteObject") && ext.EndsWith(".root")) {
         TRootBrowserCursorSwitcher cursorSwitcher2(fIconBox, fLt);
         gApplication->SetBit(TApplication::kProcessRemotely);
         gApplication->ProcessLine("((TApplicationServer *)gApplication)->BrowseFile(0);");
         Refresh();
      }
      ////////// new TFile was opened. Add it to the browser /////
      if (gFile && (wasf != gFile) && ext.EndsWith(".root")) {
         TGListTreeItem *itm = fLt->FindChildByData(0, gROOT->GetListOfFiles());

         if (itm) {
            fLt->ClearHighlighted();
            fListLevel = itm;
            ListTreeHighlight(fListLevel);
            fLt->OpenItem(fListLevel);
            itm = fLt->AddItem(fListLevel, gFile->GetName());
            itm->SetUserData(gFile);
            fClient->NeedRedraw(fLt, kTRUE);
            return;
         }
      }

      // only valid for local text files
      if (!obj->InheritsFrom("TRemoteObject"))
         BrowseTextFile(obj->GetName());

      /////////////// cache and change file's icon ///////////////////////
      TVirtualPad *nowp = gPad ? (TVirtualPad*)gPad->GetCanvas() : 0;

      if (fIconBox->fAutoThumbnail && nowp && (nowp != wasp)) {
         TSystemFile *sf = (TSystemFile*)obj;
         const TGPicture *pic, *spic;

         TIconBoxThumb *thumb = 0;
         TString path = gSystem->IsAbsoluteFileName(sf->GetName()) ? sf->GetName() :
                        gSystem->ConcatFileName(gSystem->WorkingDirectory(), sf->GetName());

         thumb = (TIconBoxThumb*)fIconBox->fThumbnails->FindObject(path);

         if (thumb) {
            spic = thumb->fSmall;
            pic = thumb->fLarge;
         } else {
            TImage *img = TImage::Create();
            nowp->Modified();
            nowp->Update();
            img->FromPad(nowp);

            if (!img->IsValid()) {
               return;
            }

            static const UInt_t sz = 72;
            UInt_t w = sz;
            UInt_t h = sz;

            if (img->GetWidth() > img->GetHeight()) {
               h = (img->GetHeight()*sz)/img->GetWidth();
            } else {
               w = (img->GetWidth()*sz)/img->GetHeight();
            }

            w = w < 54 ? 54 : w;
            h = h < 54 ? 54 : h;

            img->Scale(w, h);
            img->Merge(img, "tint");   // contrasting
            img->DrawBox(0, 0, w, h, "#ffff00", 1); // yellow frame

            pic = fClient->GetPicturePool()->GetPicture(path.Data(), img->GetPixmap(), 0);
            img->Scale(w/3, h/3);
            spic = fClient->GetPicturePool()->GetPicture(path.Data(), img->GetPixmap(), 0);

            thumb = new TIconBoxThumb(path.Data(), spic, pic);
            fIconBox->fThumbnails->Add(thumb);
            delete img;
         }
      }
      return;
   }

   // For other objects the default action is still hard coded in
   // their Browse() member function.
}

//______________________________________________________________________________
Bool_t TRootBrowserLite::ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2)
{
   // Handle menu and other command generated by the user.

   TRootHelpDialog *hd;
   TRootBrowserCursorSwitcher *cursorSwitcher = 0;
   TDirectory *tdir = 0;
   TString cmd;

   if (GET_SUBMSG(msg) != kCT_SELCHANGED) {
      cursorSwitcher = new TRootBrowserCursorSwitcher(fIconBox, fLt);
   }

   TObject *obj;
   TGListTreeItem *item = 0;

   gVirtualX->Update();

   switch (GET_MSG(msg)) {

      case kC_COMMAND:

         switch (GET_SUBMSG(msg)) {

            case kCM_BUTTON:
               // fallthrough
            case kCM_MENU:

               switch ((ERootBrowserCommands)parm1) {
                  // Handle File menu items...
                  case kFileNewBrowserLite:
                     new TBrowser("Browser", "ROOT Object Browser");
                     break;
                  case kFileNewBrowser:
                     gEnv->SetValue("Browser.Name", "TRootBrowser");
                     new TBrowser();
                     gEnv->SetValue("Browser.Name", "TRootBrowserLite");
                     break;
                  case kFileNewCanvas:
                     gROOT->MakeDefCanvas();
                     break;
                  case kFileNewBuilder:
                     TGuiBuilder::Instance();
                     break;
                  case kFileOpen:
                     {
                        static TString dir(".");
                        TGFileInfo fi;
                        fi.fFileTypes = gOpenTypes;
                        fi.fIniDir    = StrDup(dir);
                        new TGFileDialog(fClient->GetDefaultRoot(), this,
                                         kFDOpen,&fi);
                        dir = fi.fIniDir;
                        if (fi.fMultipleSelection && fi.fFileNamesList) {
                           TObjString *el;
                           TIter next(fi.fFileNamesList);
                           while ((el = (TObjString *) next())) {
                              new TFile(el->GetString(), "update");
                           }
                        }
                        else if (fi.fFilename) {
                           new TFile(fi.fFilename, "update");
                        }
                     }
                     break;
                  case kFileSave:
                  case kFileSaveAs:
                     break;
                  case kFilePrint:
                     break;
                  case kFileCloseBrowser:
                     SendCloseMessage();
                     break;
                  case kFileQuit:
                     gApplication->Terminate(0);
                     break;

                  // Handle View menu items...
                  case kViewToolBar:
                     if (fViewMenu->IsEntryChecked(kViewToolBar))
                        ShowToolBar(kFALSE);
                     else
                        ShowToolBar();
                     break;
                  case kViewStatusBar:
                     if (fViewMenu->IsEntryChecked(kViewStatusBar))
                        ShowStatusBar(kFALSE);
                     else
                        ShowStatusBar();
                     break;
                  case kViewLargeIcons:
                  case kViewSmallIcons:
                  case kViewList:
                  case kViewDetails:
                     SetViewMode((Int_t)parm1);
                     break;
                  case kViewHidden:
                     if (fBrowser->TestBit(TBrowser::kNoHidden)) {
                        fViewMenu->CheckEntry(kViewHidden);
                        fBrowser->SetBit(TBrowser::kNoHidden, kFALSE);
                     } else {
                        fViewMenu->UnCheckEntry(kViewHidden);
                        fBrowser->SetBit(TBrowser::kNoHidden, kTRUE);
                     }
                     Refresh(kTRUE);
                     break;
                  case kViewArrangeByName:
                  case kViewArrangeByType:
                  case kViewArrangeBySize:
                  case kViewArrangeByDate:
                     SetSortMode((Int_t)parm1);
                     break;
                  case kViewLineUp:
                     break;
                  case kViewRefresh:
                     Refresh(kTRUE);
                     break;
                  case kViewGroupLV:
                     if (!fViewMenu->IsEntryChecked(kViewGroupLV)) {
                        fViewMenu->CheckEntry(kViewGroupLV);
                        TString gv = gEnv->GetValue("Browser.GroupView", "10000");
                        Int_t igv = atoi(gv.Data());

                        if (igv > 10) {
                           fIconBox->SetGroupSize(igv);
                        }
                     } else {
                        fViewMenu->UnCheckEntry(kViewGroupLV);
                        fIconBox->SetGroupSize(10000000); // very large value
                     }
                     break;

                  // Handle Option menu items...
                  case kOptionShowCycles:
                     printf("Currently the browser always shows all cycles\n");
                     break;

                  case kOptionAutoThumbnail:
                     if (fOptionMenu->IsEntryChecked(kOptionAutoThumbnail)) {
                        fOptionMenu->UnCheckEntry(kOptionAutoThumbnail);
                        fIconBox->fThumbnails->Delete();
                        fIconBox->fAutoThumbnail = kFALSE;
                        Refresh(kTRUE);
                     } else {
                        fOptionMenu->CheckEntry(kOptionAutoThumbnail);
                        fIconBox->fAutoThumbnail = kTRUE;
                     }
                     break;

                  // Handle toolbar button...
                  case kOneLevelUp:
                  {
                     if (fBrowseTextFile) {
                        HideTextEdit();
                        break;
                     }
                     if (!fListLevel || !fListLevel->IsActive()) break;

                     if (fListLevel && fIconBox->WasGrouped()) {
                        if (fListLevel) {
                           item = fListLevel->GetParent();
                           if (item) fListLevel = item;
                           obj = (TObject *) fListLevel->GetUserData();
                           HighlightListLevel();
                           if (obj) BrowseObj(obj);
                        }

                        fClient->NeedRedraw(fLt, kTRUE);
                        break;
                     }
                     if (fListLevel) item = fListLevel->GetParent();


                     if (item) {
                        fListLevel = item;
                        obj = (TObject *)fListLevel->GetUserData();
                        HighlightListLevel();
                        DisplayDirectory();
                        if (obj) BrowseObj(obj);
                        fClient->NeedRedraw(fLt, kTRUE);
                     } else {
                        obj = (TObject *)fListLevel->GetUserData();
                        if (obj) ToSystemDirectory(gSystem->DirName(obj->GetTitle()));
                     }
                     break;
                  }

                  // toolbar buttons
                  case kHistoryBack:
                     HistoryBackward();
                     break;
                  case kHistoryForw:
                     HistoryForward();
                     break;

                  case kViewFind:
                     Search();
                     break;

                  // Handle Help menu items...
                  case kHelpAbout:
                     {
#ifdef R__UNIX
                        TString rootx;
# ifdef ROOTBINDIR
                        rootx = ROOTBINDIR;
# else
                        rootx = gSystem->Getenv("ROOTSYS");
                        if (!rootx.IsNull()) rootx += "/bin";
# endif
                        rootx += "/root -a &";
                        gSystem->Exec(rootx);
#else
#ifdef WIN32
                        new TWin32SplashThread(kTRUE);
#else
                        char str[32];
                        sprintf(str, "About ROOT %s...", gROOT->GetVersion());
                        hd = new TRootHelpDialog(this, str, 600, 400);
                        hd->SetText(gHelpAbout);
                        hd->Popup();
#endif
#endif
                     }
                     break;
                  case kHelpOnCanvas:
                     hd = new TRootHelpDialog(this, "Help on Canvas...", 600, 400);
                     hd->SetText(gHelpCanvas);
                     hd->Popup();
                     break;
                  case kHelpOnMenus:
                     hd = new TRootHelpDialog(this, "Help on Menus...", 600, 400);
                     hd->SetText(gHelpPullDownMenus);
                     hd->Popup();
                     break;
                  case kHelpOnGraphicsEd:
                     hd = new TRootHelpDialog(this, "Help on Graphics Editor...", 600, 400);
                     hd->SetText(gHelpGraphicsEditor);
                     hd->Popup();
                     break;
                  case kHelpOnBrowser:
                     hd = new TRootHelpDialog(this, "Help on Browser...", 600, 400);
                     hd->SetText(gHelpBrowserLite);
                     hd->Popup();
                     break;
                  case kHelpOnObjects:
                     hd = new TRootHelpDialog(this, "Help on Objects...", 600, 400);
                     hd->SetText(gHelpObjects);
                     hd->Popup();
                     break;
                  case kHelpOnPS:
                     hd = new TRootHelpDialog(this, "Help on PostScript...", 600, 400);
                     hd->SetText(gHelpPostscript);
                     hd->Popup();
                     break;
                  case kHelpOnRemote:
                     hd = new TRootHelpDialog(this, "Help on Browser...", 600, 400);
                     hd->SetText(gHelpRemote);
                     hd->Popup();
                     break;
                  default:
                     break;
               }
               break;
            case kCM_COMBOBOX:
               if (parm1 == kFSComboBox) {
                  TGTreeLBEntry *e = (TGTreeLBEntry *) fFSComboBox->GetSelectedEntry();
                  if (e) {
                     const char *dirname = e->GetPath()->GetString();
                     item = fLt->FindItemByPathname(dirname);
                     if (item) {
                        fListLevel = item;
                        HighlightListLevel();
                        DisplayDirectory();
                        fClient->NeedRedraw(fLt, kTRUE);
                     } else {
                        ToSystemDirectory(dirname);
                     }
                  }
               }
               break;
            default:
               break;
         }

         break;

      case kC_LISTTREE:
         switch (GET_SUBMSG(msg)) {

            case kCT_ITEMCLICK:
               // tell coverity that parm1 is a Long_t, and not an enum (even
               // if we compare it with an enum value) and the meaning of
               // parm1 depends on GET_MSG(msg) and GET_SUBMSG(msg)
               // coverity[mixed_enums]
               if (((EMouseButton)parm1 == kButton1) ||
                   ((EMouseButton)parm1 == kButton3)) {
                  HideTextEdit();
                  TGListTreeItem *item2;
                  TObject *obj2 = 0;
                  if ((item2 = fLt->GetSelected()) != 0 ) {
                     ListTreeHighlight(item2);
                     fStatusBar->SetText("", 1);   // clear
                  }
                  if (item2 && parm1 == kButton3) {
                     Int_t x = (Int_t)(parm2 & 0xffff);
                     Int_t y = (Int_t)((parm2 >> 16) & 0xffff);
                     obj2 = (TObject *) item2->GetUserData();
                     if (obj2) {
                        if (obj2->InheritsFrom("TTree")) {
                           // if a tree not attached to any directory (e.g. in a TFolder)
                           // then attach it to the current directory (gDirectory)
                           cmd = TString::Format("((TTree *)0x%lx)->GetDirectory();",
                                                 (ULong_t)obj2);
                           tdir = (TDirectory *)gROOT->ProcessLine(cmd.Data());
                           if (!tdir) {
                              cmd = TString::Format("((TTree *)0x%lx)->SetDirectory(gDirectory);",
                                                    (ULong_t)obj2);
                              gROOT->ProcessLine(cmd.Data());
                           }
                        }
                        fBrowser->GetContextMenu()->Popup(x, y, obj2, fBrowser);
                     }
                  }
                  fClient->NeedRedraw(fLt);
                  fListView->LayoutHeader(0);
                  fListView->Layout();
               }
               break;

            case kCT_ITEMDBLCLICK:
               if (parm1 == kButton1) {
                  if (fBrowseTextFile) {
                     HideTextEdit();
                  }
                  if (fListLevel && fIconBox->WasGrouped()) {
                     TObject *obj2;
                     TGListTreeItem *item2;

                     if (fListLevel) {
                        item2 = fListLevel->GetParent();
                        if (item2) fListLevel = item2;

                        obj2 = (TObject *) fListLevel->GetUserData();
                        HighlightListLevel();
                        if (obj2) {
                           BrowseObj(obj2);
                        }
                     }
                     break;
                  }
               }

            default:
               break;
         }
         break;

      case kC_CONTAINER:
         switch (GET_SUBMSG(msg)) {

            case kCT_ITEMCLICK:
               if (fIconBox->NumSelected() == 1) {
                  // display title of selected object
                  TGFileItem *item2;
                  void *p = 0;
                  if ((item2 = (TGFileItem *)fIconBox->GetNextSelected(&p)) != 0) {
                     TObject *obj2 = (TObject *)item2->GetUserData();

                     TGListTreeItem *itm = 0;
                     if (!fListLevel) itm = fLt->GetFirstItem();
                     else itm = fListLevel->GetFirstChild();
                     //Bool_t found = kFALSE;

                     while (itm) {
                        if (itm->GetUserData() == obj2) break;
                        itm = itm->GetNextSibling();
                     }

                     if (itm) {
                        if ((fListLevel && fListLevel->IsOpen()) || !fListLevel) {
                           fLt->ClearHighlighted();
                           fLt->HighlightItem(itm);
                           fClient->NeedRedraw(fLt, kTRUE);
                        }
                     }

                     if (obj2) fStatusBar->SetText(obj2->GetName(), 1);
                  }
               }
               if (parm1 == kButton3) {
                  // show context menu for selected object
                  if (fIconBox->NumSelected() == 1) {
                     void *p = 0;
                     TGFileItem *item2;
                     if ((item2 = (TGFileItem *) fIconBox->GetNextSelected(&p)) != 0) {
                        Int_t x = (Int_t)(parm2 & 0xffff);
                        Int_t y = (Int_t)((parm2 >> 16) & 0xffff);
                        TObject *obj2 = (TObject *)item2->GetUserData();
                        if (obj2) {
                           if (obj2->IsA() == TKey::Class()) {
                              TKey *key = (TKey*)obj2;
                              TClass *cl = TClass::GetClass(key->GetClassName());
                              TString name = key->GetName();
                              name += ";";
                              name += key->GetCycle();
                              //void *add = gROOT->FindObject((char *) name.Data());//key->GetName());
                              void *add = gDirectory->FindObjectAny((char *) name.Data());
                              if (cl->IsTObject()) {
                                 obj2 = (TObject*)add; // cl->DynamicCast(TObject::Class(),startadd);
                                 item2->SetUserData(obj2);
                              } else {
                                 Error("ProcessMessage","do not support non TObject (like %s) yet",
                                       cl->GetName());
                                 break;
                              }
                           }
                           if (obj2 && obj2->InheritsFrom("TTree")) {
                              // if a tree not attached to any directory (e.g. in a TFolder)
                              // then attach it to the current directory (gDirectory)
                              cmd = TString::Format("((TTree *)0x%lx)->GetDirectory();",
                                                    (ULong_t)obj2);
                              tdir = (TDirectory *)gROOT->ProcessLine(cmd.Data());
                              if (!tdir) {
                                 cmd = TString::Format("((TTree *)0x%lx)->SetDirectory(gDirectory);",
                                                       (ULong_t)obj2);
                                 gROOT->ProcessLine(cmd.Data());
                              }
                           }
                           fBrowser->GetContextMenu()->Popup(x, y, obj2, fBrowser);
                        }
                     }
                  }
               }
               break;
            case kCT_ITEMDBLCLICK:
               if (parm1 == kButton1) {
                  if (fIconBox->NumSelected() == 1) {
                     void *p = 0;
                     TGFileItem *item2;
                     if ((item2 = (TGFileItem *) fIconBox->GetNextSelected(&p)) != 0) {
                        TObject *obj2 = (TObject *)item2->GetUserData();
                        if (obj2) {
                           DoubleClicked(obj2);
                           IconBoxAction(obj2);
                        }
                        delete cursorSwitcher;
                        return kTRUE; //
                     }
                  }
               }
               break;
            case kCT_SELCHANGED:
               DisplayTotal((Int_t)parm1, (Int_t)parm2);
               break;
            default:
               break;
         }

         break;

      default:
         break;
   }

   delete cursorSwitcher;

   fClient->NeedRedraw(fIconBox);
   return kTRUE;
}

//______________________________________________________________________________
void TRootBrowserLite::Chdir(TGListTreeItem *item)
{
   // Make object associated with item the current directory.

   if (item) {
      TGListTreeItem *i = item;
      TString dir;
      while (i) {
         TObject *obj = (TObject*) i->GetUserData();
         if (obj) {
            if (obj->IsA() == TDirectoryFile::Class()) {
               dir = "/" + dir;
               dir = obj->GetName() + dir;
            }
            if (obj->IsA() == TFile::Class()) {
               dir = ":/" + dir;
               dir = obj->GetName() + dir;
            }
            if (obj->IsA() == TKey::Class()) {
               if (strcmp(((TKey*)obj)->GetClassName(), "TDirectoryFile") == 0) {
                  dir = "/" + dir;
                  dir = obj->GetName() + dir;
               }
            }
         }
         i = i->GetParent();
      }

      if (gDirectory && dir.Length()) gDirectory->cd(dir.Data());
   }
}

//______________________________________________________________________________
void TRootBrowserLite::HighlightListLevel()
{
   // helper method  to track history

   if (!fListLevel) return;

   fLt->ClearHighlighted();
   fLt->HighlightItem(fListLevel);
}

//______________________________________________________________________________
void TRootBrowserLite::AddToHistory(TGListTreeItem *item)
{
   // helper method to track history

   TGButton *btn = fToolBar->GetButton(kHistoryBack);

   if (!item || (fHistoryCursor &&
       (item == ((TRootBrowserHistoryCursor*)fHistoryCursor)->fItem))) return;

   TRootBrowserHistoryCursor *cur = (TRootBrowserHistoryCursor*)fHistoryCursor;

   while ((cur = (TRootBrowserHistoryCursor*)fHistory->After(fHistoryCursor))) {
      fHistory->Remove(cur);
      delete cur;
   }

   cur = new TRootBrowserHistoryCursor(item);
   fHistory->Add(cur);
   fHistoryCursor = cur;
   btn->SetState(kButtonUp);
}

//______________________________________________________________________________
void TRootBrowserLite::ClearHistory()
{
   // clear navigation history

   fHistory->Delete();
   TGButton *btn = fToolBar->GetButton(kHistoryBack);
   TGButton *btn2 = fToolBar->GetButton(kHistoryForw);
   btn->SetState(kButtonDisabled);
   btn2->SetState(kButtonDisabled);
}

//______________________________________________________________________________
Bool_t TRootBrowserLite::HistoryBackward()
{
   // go to the past

   if (fBrowseTextFile) {
      HideTextEdit();
      return kFALSE;
   }
   TRootBrowserHistoryCursor *cur = (TRootBrowserHistoryCursor*)fHistory->Before(fHistoryCursor);
   TGButton *btn = fToolBar->GetButton(kHistoryBack);
   TGButton *btn2 = fToolBar->GetButton(kHistoryForw);

   if (!cur) {
      btn->SetState(kButtonDisabled);
      return kFALSE;
   }

   fLt->ClearHighlighted();
   fHistoryCursor = cur;
   fListLevel = cur->fItem;
   ListTreeHighlight(fListLevel);
   fLt->AdjustPosition();
   fClient->NeedRedraw(fLt, kTRUE);

   btn2->SetState(kButtonUp);
   cur = (TRootBrowserHistoryCursor*)fHistory->Before(fHistoryCursor);
   if (!cur) {
      btn->SetState(kButtonDisabled);
      return kFALSE;
   }

   return kTRUE;
}

//______________________________________________________________________________
Bool_t TRootBrowserLite::HistoryForward()
{
   //  go to the future

   if (fBrowseTextFile) {
      HideTextEdit();
      return kFALSE;
   }

   TRootBrowserHistoryCursor *cur = (TRootBrowserHistoryCursor*)fHistory->After(fHistoryCursor);
   TGButton *btn = fToolBar->GetButton(kHistoryForw);
   TGButton *btn2 = fToolBar->GetButton(kHistoryBack);

   if (!cur) {
      btn->SetState(kButtonDisabled);
      return kFALSE;
   }

   fLt->ClearHighlighted();
   fHistoryCursor = cur;
   fListLevel = cur->fItem;
   ListTreeHighlight(fListLevel);
   fLt->AdjustPosition();
   fClient->NeedRedraw(fLt, kTRUE);

   btn2->SetState(kButtonUp);

   cur = (TRootBrowserHistoryCursor*)fHistory->After(fHistoryCursor);
   if (!cur) {
      btn->SetState(kButtonDisabled);
      return kFALSE;
   }

   return kTRUE;
}

//______________________________________________________________________________
void TRootBrowserLite::DeleteListTreeItem(TGListTreeItem *item)
{
   // delete list tree item, remove it from history

   ((TRootBrowserHistory*)fHistory)->DeleteItem(item);
   fLt->DeleteItem(item);
}

//______________________________________________________________________________
void TRootBrowserLite::ListTreeHighlight(TGListTreeItem *item)
{
   // Open tree item and list in iconbox its contents.

   if (item) {
      TObject *obj = (TObject *) item->GetUserData();

      if (obj) {
         if (obj->IsA() == TKey::Class()) {

            TKey *key = (TKey *)obj;
            TString name = obj->GetName();
            name += ";";
            name += key->GetCycle();
            Chdir(item->GetParent());
            //TObject *k_obj = gROOT->FindObject(name);
            TObject *k_obj = gDirectory->FindObjectAny(name);

            if (k_obj) {
               item->SetUserData(k_obj);
               obj = k_obj;
            }
         } else if (obj->InheritsFrom(TDirectoryFile::Class())) {
            Chdir(item->GetParent());
         }
         else if (obj->InheritsFrom("TApplicationRemote")) {
            if (!gApplication->GetAppRemote()) {
               gROOT->ProcessLine(Form(".R %s", item->GetText()));
               if (gApplication->GetAppRemote()) {
                  Getlinem(kInit, TString::Format("\n%s:root [0]",
                           gApplication->GetAppRemote()->ApplicationName()));
               }
            }
         }
         else if (obj->InheritsFrom("TRemoteObject")) {
            // special case for remote object
            TRemoteObject *robj = (TRemoteObject *)obj;
            // the real object is a TKey
            if (!strcmp(robj->GetClassName(), "TKey")) {
               TGListTreeItem *parent = item;
               TRemoteObject *probj = (TRemoteObject *)parent->GetUserData();
               // find the TFile remote object containing the TKey
               while ( probj && strcmp(probj->GetClassName(), "TFile")) {
                  parent = parent->GetParent();
                  probj = (TRemoteObject *)parent->GetUserData();
               }
               if (probj) {
                  // remotely browse file (remotely call TFile::cd())
                  gApplication->SetBit(TApplication::kProcessRemotely);
                  gApplication->ProcessLine(
                     TString::Format("((TApplicationServer *)gApplication)->BrowseFile(\"%s\");",
                                     probj->GetName()));
               }
            }
         }
         if (item->GetParent() && item->GetParent()->GetUserData() &&
            ((TObject *)item->GetParent()->GetUserData())->InheritsFrom("TApplicationRemote")) {
            // switch to remote session
            if (!gApplication->GetAppRemote()) {
               gROOT->ProcessLine(Form(".R %s", item->GetParent()->GetText()));
               if (gApplication->GetAppRemote()) {
                  Getlinem(kInit, TString::Format("\n%s:root [0]",
                           gApplication->GetAppRemote()->ApplicationName()));
               }
            }
            else if (!strcmp(item->GetText(), "ROOT Files")) {
               // update list of files opened in the remote session
               gApplication->SetBit(TApplication::kProcessRemotely);
               gApplication->ProcessLine("((TApplicationServer *)gApplication)->BrowseFile(0);");
            }
         }
         else {
            // check if the listtree item is from a local session or
            // from a remote session, then switch to the session it belongs to
            TGListTreeItem *top = item;
            while (top->GetParent()) {
               top = top->GetParent();
            }
            TObject *topobj = (TObject *) top->GetUserData();
            if (topobj && topobj->InheritsFrom("TApplicationRemote")) {
               // it belongs to a remote session
               if (!gApplication->GetAppRemote()) {
                  // switch to remote session if not already in
                  gROOT->ProcessLine(Form(".R %s", top->GetText()));
                  if (gApplication->GetAppRemote()) {
                     Getlinem(kInit, TString::Format("\n%s:root [0]",
                              gApplication->GetAppRemote()->ApplicationName()));
                  }
               }
            }
            else if (gApplication->GetAppRemote()) {
               // switch back to local session if not already in
               gApplication->ProcessLine(".R");
               Getlinem(kInit, "\nroot [0]");
            }
         }

         if (!fListLevel || !fListLevel->IsActive()) {
            fListLevel = item;
            BrowseObj(obj);
            fLt->HighlightItem(fListLevel);
         }
      }
      DisplayDirectory();
   }
}

//______________________________________________________________________________
void TRootBrowserLite::ToSystemDirectory(const char *dirname)
{
   // display  directory

   TString dir = dirname;

   if (fListLevel) {
      TObject* obj = (TObject*)fListLevel->GetUserData();

      if (obj && (obj->IsA() == TSystemDirectory::Class())) {
         TObject* old = obj;
         fListLevel->Rename(dir.Data());
         obj = new TSystemDirectory(dir.Data(), dir.Data());
         while (fListLevel->GetFirstChild())
            fLt->RecursiveDeleteItem(fListLevel->GetFirstChild(),
                                     fListLevel->GetFirstChild()->GetUserData());

         fListLevel->SetUserData(obj);
         gROOT->GetListOfBrowsables()->Remove(old);
         delete old;
         gROOT->GetListOfBrowsables()->Add(obj);
         fTreeLock = kTRUE;
         BrowseObj(obj);
         fTreeLock = kFALSE;

         fClient->NeedRedraw(fLt, kTRUE);
         fClient->NeedRedraw(fIconBox);
         DisplayDirectory();
         //gSystem->ChangeDirectory(dir.Data());
         fStatusBar->SetText(dir.Data(), 1);
         ClearHistory();   // clear browsing history
      }
   }
   return;
}

//______________________________________________________________________________
void TRootBrowserLite::SetDrawOption(Option_t *option)
{
   // sets drawing option

   fDrawOption->GetTextEntry()->SetText(option);
}

//______________________________________________________________________________
Option_t *TRootBrowserLite::GetDrawOption() const
{
   // returns drawing option

   return fDrawOption->GetTextEntry()->GetText();
}
//______________________________________________________________________________
void TRootBrowserLite::DoubleClicked(TObject *obj)
{
   // Emits signal when double clicking on icon.

   Emit("DoubleClicked(TObject*)", (Long_t)obj);
}

//______________________________________________________________________________
void TRootBrowserLite::Checked(TObject *obj, Bool_t checked)
{
   // Emits signal when double clicking on icon.
   Long_t args[2];

   args[0] = (Long_t)obj;
   args[1] = checked;

   Emit("Checked(TObject*,Bool_t)", args);
}

//______________________________________________________________________________
void TRootBrowserLite::IconBoxAction(TObject *obj)
{
   // Default action when double clicking on icon.

   Bool_t browsable = kFALSE;
   const char *dirname = 0;
   if (obj) {

      TRootBrowserCursorSwitcher cursorSwitcher(fIconBox, fLt);

      Bool_t useLock = kTRUE;

      if (obj->IsA()->GetMethodWithPrototype("Browse", "TBrowser*"))
         browsable = kTRUE;

      if (obj->InheritsFrom("TLeaf")) {
         TObject *dir = (TObject *)gROOT->ProcessLine(Form("((%s *)0x%lx)->GetBranch()->GetDirectory();",
                                                      obj->ClassName(), (ULong_t)obj));
         if (!dir) {
            browsable = kFALSE;
         }
      }
      if (obj->InheritsFrom("TBranchElement")) {
         TObject *dir = (TObject *)gROOT->ProcessLine(Form("((%s *)0x%lx)->GetDirectory();",
                                                      obj->ClassName(), (ULong_t)obj));
         if (!dir) {
            browsable = kFALSE;
         }
      }

      if (obj->InheritsFrom("TKey")) {
         TKey *key = dynamic_cast<TKey*>(obj);
         if (key && key->GetClassName() && (!strcmp(key->GetClassName(), "TFormula")))
            browsable = kFALSE;
      }

      if (obj->IsA() == TSystemDirectory::Class()) {
         useLock = kFALSE;

         TString t(obj->GetName());
         if (t == ".") goto out;
         if (t == "..") {
            if (fListLevel && fListLevel->GetParent()) {
               fListLevel = fListLevel->GetParent();
               obj = (TObject*)fListLevel->GetUserData();
               if (fListLevel->GetParent()) {
                  fListLevel = fListLevel->GetParent();
               } else  {
                  obj = (TObject*)fListLevel->GetUserData();
                  fListLevel = 0;
               }
            } else {
               dirname = gSystem->DirName(gSystem->pwd());
               ToSystemDirectory(dirname);
               return;
            }
         }
      }

      if (obj && obj->IsFolder()) {
         fIconBox->RemoveAll();
         TGListTreeItem *itm = 0;

         if (fListLevel) {
            fLt->OpenItem(fListLevel);
            itm = fListLevel->GetFirstChild();
         } else {
            itm = fLt->GetFirstItem();
         }

         while (itm && (itm->GetUserData() != obj)) {
            itm = itm->GetNextSibling();
         }

         if (!itm && fListLevel) {
            // special case for remote objects
            Bool_t isRemote = kFALSE;
            if (obj->InheritsFrom("TRemoteObject"))
               isRemote = kTRUE;
            else if (fListLevel) {
               // check also if one of its parents is a remote object
               TGListTreeItem *top = fListLevel;
               while (top->GetParent()) {
                  TObject *tobj = (TObject *) top->GetUserData();
                  if (tobj && (tobj->InheritsFrom("TRemoteObject") ||
                     tobj->InheritsFrom("TApplicationRemote"))) {
                     isRemote = kTRUE;
                     break;
                  }
                  top = top->GetParent();
               }
            }
            if (isRemote) {
               // add the remote object only if not already in the list
               if ((!fLt->FindChildByName(fListLevel, obj->GetName())) &&
                   (!fLt->FindChildByData(fListLevel, obj))) {
                  itm = fLt->AddItem(fListLevel, obj->GetName());
                  if (itm) itm->SetUserData(obj);
               }
               else {
                  // set the current item to the one found in the list
                  itm = fLt->FindChildByData(fListLevel, obj) ?
                     fLt->FindChildByData(fListLevel, obj) :
                     fLt->FindChildByName(fListLevel, obj->GetName());
               }
            }
            else {
               itm = fLt->AddItem(fListLevel, obj->GetName());
               if (itm) itm->SetUserData(obj);
            }
         }

         if (itm) {
            fListLevel = itm;
            DisplayDirectory();
            TObject *kobj = (TObject *)itm->GetUserData();

            if (kobj && kobj->IsA() == TKey::Class()) {
               Chdir(fListLevel->GetParent());
               //kobj = gROOT->FindObject(kobj->GetName());
               kobj = gDirectory->FindObjectAny(kobj->GetName());

               if (kobj) {
                  TGListTreeItem *parent = fListLevel->GetParent();
                  DeleteListTreeItem(fListLevel);
                  TGListTreeItem *kitem = fLt->AddItem(parent, kobj->GetName(), kobj);
                  if (kitem) {
                     obj = kobj;
                     useLock = kFALSE;
                     kitem->SetUserData(kobj);
                     fListLevel = kitem;
                  } else
                     fListLevel = parent;
               }
            }
            HighlightListLevel();
         }
      }

      if (browsable) {
         if (useLock) fTreeLock = kTRUE;
         Emit("BrowseObj(TObject*)", (Long_t)obj);
         if (obj) obj->Browse(fBrowser);
         if (useLock) fTreeLock = kFALSE;
      }

out:
      if (obj && obj->IsA() != TSystemFile::Class()) {
         if (obj->IsFolder()) {
            fIconBox->Refresh();
         }

         if (fBrowser) {
            fBrowser->SetRefreshFlag(kFALSE);
         }

         fClient->NeedRedraw(fIconBox);
         fClient->NeedRedraw(fLt, kTRUE);
      }
   }
}

//______________________________________________________________________________
void TRootBrowserLite::RecursiveRemove(TObject *obj)
{
   // Recursively remove object from browser.

   // don't delete fIconBox items here (it's status will be updated
   // via TBrowser::Refresh() which should be called once all objects have
   // been removed.

   TGListTreeItem *item = fLt->FindItemByObj(fLt->GetFirstItem(), obj);
   if (item == 0)
      return;
   if (fListLevel && (item == fListLevel)) {
      TGListTreeItem *parent = item->GetParent();
      if (parent) {
         fListLevel = parent;
         fLt->ClearHighlighted();
         fLt->HighlightItem(fListLevel);
         fLt->OpenItem(fListLevel);
      }
      else
         fListLevel = 0;
   }
   DeleteListTreeItem(item);
}

//______________________________________________________________________________
void TRootBrowserLite::Refresh(Bool_t force)
{
   // Refresh the browser contents.

   Bool_t refresh = fBrowser && fBrowser->GetRefreshFlag();

   if (fTextEdit && !gROOT->IsExecutingMacro() && force) {
      fTextEdit->LoadFile(fTextFileName.Data());
      fClient->NeedRedraw(fTextEdit);
      return;
   }

   if ( (refresh || force) && !fIconBox->WasGrouped()
      && fIconBox->NumItems()<fIconBox->GetGroupSize() ) {

      TRootBrowserCursorSwitcher cursorSwitcher(fIconBox, fLt);
      static UInt_t prev = 0;
      UInt_t curr =  gROOT->GetListOfBrowsables()->GetSize();
      if (!prev) prev = curr;

      if (prev != curr) { // refresh gROOT
         TGListTreeItem *sav = fListLevel;
         fListLevel = 0;
         BrowseObj(gROOT);
         fListLevel = sav;
         prev = curr;
      }

      // Refresh the IconBox
      if (fListLevel) {
         TObject *obj = (TObject *)fListLevel->GetUserData();
         if (obj) {
            fTreeLock = kTRUE;
            BrowseObj(obj);
            fTreeLock = kFALSE;
         }
      }
   }
   fClient->NeedRedraw(fLt, kTRUE);
}

//______________________________________________________________________________
void TRootBrowserLite::ShowToolBar(Bool_t show)
{
   // Show or hide toolbar.

   if (show) {
      ShowFrame(fToolBar);
      ShowFrame(fToolBarSep);
      fViewMenu->CheckEntry(kViewToolBar);
   } else {
      HideFrame(fToolBar);
      HideFrame(fToolBarSep);
      fViewMenu->UnCheckEntry(kViewToolBar);
   }
}

//______________________________________________________________________________
void TRootBrowserLite::ShowStatusBar(Bool_t show)
{
   // Show or hide statusbar.

   if (show) {
      ShowFrame(fStatusBar);
      fViewMenu->CheckEntry(kViewStatusBar);
   } else {
      HideFrame(fStatusBar);
      fViewMenu->UnCheckEntry(kViewStatusBar);
   }
}

//______________________________________________________________________________
void TRootBrowserLite::SetDefaults(const char *iconStyle, const char *sortBy)
{
   // Set defaults depending on settings in the user's .rootrc.

   const char *opt;

   // IconStyle: big, small, list, details
   if (iconStyle)
      opt = iconStyle;
   else
      opt = gEnv->GetValue("Browser.IconStyle", "small");
   if (!strcasecmp(opt, "big"))
      SetViewMode(kViewLargeIcons, kTRUE);
   else if (!strcasecmp(opt, "small"))
      SetViewMode(kViewSmallIcons, kTRUE);
   else if (!strcasecmp(opt, "list"))
      SetViewMode(kViewList, kTRUE);
   else if (!strcasecmp(opt, "details"))
      SetViewMode(kViewDetails, kTRUE);
   else
      SetViewMode(kViewSmallIcons, kTRUE);

   // SortBy: name, type, size, date
   if (sortBy)
      opt = sortBy;
   else
      opt = gEnv->GetValue("Browser.SortBy", "name");
   if (!strcasecmp(opt, "name"))
      SetSortMode(kViewArrangeByName);
   else if (!strcasecmp(opt, "type"))
      SetSortMode(kViewArrangeByType);
   else if (!strcasecmp(opt, "size"))
      SetSortMode(kViewArrangeBySize);
   else if (!strcasecmp(opt, "date"))
      SetSortMode(kViewArrangeByDate);
   else
      SetSortMode(kViewArrangeByName);

   fIconBox->Refresh();
}

//______________________________________________________________________________
void TRootBrowserLite::SetViewMode(Int_t new_mode, Bool_t force)
{
   // Set iconbox's view mode and update menu and toolbar buttons accordingly.

   int i, bnum;
   EListViewMode lv;

   if (force || (fViewMode != new_mode)) {

      switch (new_mode) {
         default:
            if (!force)
               return;
            else
               new_mode = kViewLargeIcons;
            // intentionally no break
         case kViewLargeIcons:
            bnum = 2;
            lv = kLVLargeIcons;
            break;
         case kViewSmallIcons:
            bnum = 3;
            lv = kLVSmallIcons;
            break;
         case kViewList:
            bnum = 4;
            lv = kLVList;
            break;
         case kViewDetails:
            bnum = 5;
            lv = kLVDetails;
            break;
      }

      fViewMode = new_mode;
      fViewMenu->RCheckEntry(fViewMode, kViewLargeIcons, kViewDetails);

      for (i = 2; i <= 5; ++i)
         gToolBarData[i].fButton->SetState((i == bnum) ? kButtonEngaged : kButtonUp);

      fListView->SetViewMode(lv);
      TGTextButton** buttons = fListView->GetHeaderButtons();
      if ((lv == kLVDetails) && (buttons)) {
         if (!strcmp(fListView->GetHeader(1), "Attributes")) {
            buttons[0]->Connect("Clicked()", "TRootBrowserLite", this,
                                TString::Format("SetSortMode(=%d)", kViewArrangeByName));
            buttons[1]->Connect("Clicked()", "TRootBrowserLite", this,
                                TString::Format("SetSortMode(=%d)", kViewArrangeByType));
            buttons[2]->Connect("Clicked()", "TRootBrowserLite", this,
                                TString::Format("SetSortMode(=%d)", kViewArrangeBySize));
            buttons[5]->Connect("Clicked()", "TRootBrowserLite", this,
                                TString::Format("SetSortMode(=%d)", kViewArrangeByDate));
         }
      }
      fIconBox->AdjustPosition();
   }
}

//______________________________________________________________________________
void TRootBrowserLite::SetSortMode(Int_t new_mode)
{
   // Set iconbox's sort mode and update menu radio buttons accordingly.

   EFSSortMode smode;

   switch (new_mode) {
      default:
         new_mode = kViewArrangeByName;
         // intentionally no break
      case kViewArrangeByName:
         smode = kSortByName;
         break;
      case kViewArrangeByType:
         smode = kSortByType;
         break;
      case kViewArrangeBySize:
         smode = kSortBySize;
         break;
      case kViewArrangeByDate:
         smode = kSortByDate;
         break;
   }

   fSortMode = new_mode;
   fSortMenu->RCheckEntry(fSortMode, kViewArrangeByName, kViewArrangeByDate);

   fIconBox->Sort(smode);
}

//______________________________________________________________________________
void TRootBrowserLite::Search()
{
   // starts serach dialog

   if (!fTextEdit) {
      fIconBox->Search(kFALSE);
   } else {
      fTextEdit->Search(kFALSE);
   }
}

//______________________________________________________________________________
static Bool_t isBinary(const char *str, int len)
{
   // test

   for (int i = 0; i < len; i++) {
      char c = str[i];
      if (((c < 32) || (c > 126)) && (c != '\t') && (c != '\r') && (c != '\n')) {
         return kTRUE;
      }
   }
   return kFALSE;
}

//______________________________________________________________________________
void TRootBrowserLite::HideTextEdit()
{
   // hide text edit

   if (!fTextEdit) return;

   ShowMacroButtons(kFALSE);
   fTextEdit->UnmapWindow();
   fV2->RemoveFrame(fTextEdit);
   fV2->AddFrame(fListView, fExpandLayout);
   TGButton *savbtn = fToolBar->GetButton(kViewSave);
   savbtn->Disconnect();
   fTextEdit->DestroyWindow();
   delete fTextEdit;
   fTextEdit = 0;
   fListView->Resize(fV2->GetWidth(), fV2->GetHeight());
   fV2->MapSubwindows();
   fV2->Layout();
   fBrowseTextFile = kFALSE;
   fTextFileName = "";
}

//______________________________________________________________________________
void TRootBrowserLite::BrowseTextFile(const char *file)
{
   // browse text file

   Bool_t loaded = (fTextEdit != 0);
   if (gSystem->AccessPathName(file, kReadPermission)) {
      if (loaded) {
         HistoryBackward();
      }
      return;
   }
   const int bufferSize = 1024;
   char buffer[bufferSize];

   FILE *fd = fopen(file, "rb");
   if (fd == 0) {
      if (loaded) {
         HistoryBackward();
      }
      return;
   }
   int sz = fread(buffer, 1, bufferSize, fd);
   fclose(fd);

   if ((sz > 0) && isBinary(buffer, sz)) {
      if (loaded) {
         HistoryBackward();
      }
      return;
   }

   if (!fTextEdit) {
      fTextEdit = new TGTextEdit(fV2, fV2->GetWidth(), fV2->GetHeight(),
                                 kSunkenFrame | kDoubleBorder);
      TColor *col = gROOT->GetColor(19);
      fTextEdit->SetBackgroundColor(col->GetPixel());
      if (TGSearchDialog::SearchDialog()) {
         TGSearchDialog::SearchDialog()->Connect("TextEntered(char *)", "TGTextEdit",
                                                 fTextEdit, "Search(char *,Bool_t,Bool_t)");
      }
      fV2->AddFrame(fTextEdit, fExpandLayout);
      TGButton *savbtn = fToolBar->GetButton(kViewSave);
      savbtn->Connect("Released()", "TGTextEdit", fTextEdit, "SaveFile(=0,kTRUE)");
   }
   fTextFileName = file;
   fTextEdit->LoadFile(file);
   if (loaded) return;

   if (fTextFileName.EndsWith(".C")) {
      ShowMacroButtons();
   } else {
      fTextEdit->SetReadOnly();
   }
   fListView->UnmapWindow();
   fV2->RemoveFrame(fListView);
   fTextEdit->MapWindow();
   fV2->MapSubwindows();
   fV2->Layout();
   fBrowseTextFile = kTRUE;

   if (fListLevel) {
      AddToHistory(fListLevel);
   }
   TGButton *btn = fToolBar->GetButton(kHistoryForw);

   if (btn) {
      btn->SetState(kButtonDisabled);
   }

   TGButton *btn2 = fToolBar->GetButton(kHistoryBack);

   if (btn2) {
      btn2->SetState(kButtonUp);
   }
}

//______________________________________________________________________________
void TRootBrowserLite::ExecMacro()
{
   // executed browsed text macro

   char *tmpfile = gSystem->ConcatFileName(gSystem->TempDirectory(),
                                           fTextFileName.Data());

   gROOT->SetExecutingMacro(kTRUE);
   fTextEdit->SaveFile(tmpfile, kFALSE);
   gROOT->Macro(tmpfile);
   gSystem->Unlink(tmpfile);
   delete [] tmpfile;
   gROOT->SetExecutingMacro(kFALSE);
}

//______________________________________________________________________________
void TRootBrowserLite::InterruptMacro()
{
   // interrupt browsed macro execution

   gROOT->SetInterrupt(kTRUE);
}

//______________________________________________________________________________
void TRootBrowserLite::ShowMacroButtons(Bool_t show)
{
   // show/hide macro buttons

   TGButton *bt1 = fToolBar->GetButton(kViewExec);
   TGButton *bt2 = fToolBar->GetButton(kViewInterrupt);
   TGButton *bt3 = fToolBar->GetButton(kViewSave);

   static Bool_t connected = kFALSE;

   if (!show) {
      bt1->UnmapWindow();
      bt2->UnmapWindow();
      bt3->UnmapWindow();
   } else {
      bt1->MapWindow();
      bt2->MapWindow();
      bt3->MapWindow();

      if (!connected && fTextEdit) {
         bt1->Connect("Pressed()", "TRootBrowserLite", this, "ExecMacro()");
         bt2->Connect("Pressed()", "TRootBrowserLite", this, "InterruptMacro()");
         connected = kTRUE;
      }
   }
}

//______________________________________________________________________________
void TRootBrowserLite::SetStatusText(const char *txt, Int_t col)
{
   // Set text in column col in status bar.

   ShowStatusBar(kTRUE);
   TGStatusBar* status = GetStatusBar();
   if (status!=0) {
      status->SetText(txt, col);
   }
}

//______________________________________________________________________________
TBrowserImp *TRootBrowserLite::NewBrowser(TBrowser *b, const char *title,
                                      UInt_t width, UInt_t height,
                                      Option_t * /*opt*/)
{
   // Interface method to the old browser.

   TRootBrowserLite *browser = new TRootBrowserLite(b, title, width, height);
   return (TBrowserImp *)browser;
}

//______________________________________________________________________________
TBrowserImp *TRootBrowserLite::NewBrowser(TBrowser *b, const char *title, Int_t x,
                                      Int_t y, UInt_t width, UInt_t height,
                                      Option_t * /*opt*/)
{
   // Interface method to the old browser.

   TRootBrowserLite *browser = new TRootBrowserLite(b, title, x, y, width, height);
   return (TBrowserImp *)browser;
}
 TRootBrowserLite.cxx:1
 TRootBrowserLite.cxx:2
 TRootBrowserLite.cxx:3
 TRootBrowserLite.cxx:4
 TRootBrowserLite.cxx:5
 TRootBrowserLite.cxx:6
 TRootBrowserLite.cxx:7
 TRootBrowserLite.cxx:8
 TRootBrowserLite.cxx:9
 TRootBrowserLite.cxx:10
 TRootBrowserLite.cxx:11
 TRootBrowserLite.cxx:12
 TRootBrowserLite.cxx:13
 TRootBrowserLite.cxx:14
 TRootBrowserLite.cxx:15
 TRootBrowserLite.cxx:16
 TRootBrowserLite.cxx:17
 TRootBrowserLite.cxx:18
 TRootBrowserLite.cxx:19
 TRootBrowserLite.cxx:20
 TRootBrowserLite.cxx:21
 TRootBrowserLite.cxx:22
 TRootBrowserLite.cxx:23
 TRootBrowserLite.cxx:24
 TRootBrowserLite.cxx:25
 TRootBrowserLite.cxx:26
 TRootBrowserLite.cxx:27
 TRootBrowserLite.cxx:28
 TRootBrowserLite.cxx:29
 TRootBrowserLite.cxx:30
 TRootBrowserLite.cxx:31
 TRootBrowserLite.cxx:32
 TRootBrowserLite.cxx:33
 TRootBrowserLite.cxx:34
 TRootBrowserLite.cxx:35
 TRootBrowserLite.cxx:36
 TRootBrowserLite.cxx:37
 TRootBrowserLite.cxx:38
 TRootBrowserLite.cxx:39
 TRootBrowserLite.cxx:40
 TRootBrowserLite.cxx:41
 TRootBrowserLite.cxx:42
 TRootBrowserLite.cxx:43
 TRootBrowserLite.cxx:44
 TRootBrowserLite.cxx:45
 TRootBrowserLite.cxx:46
 TRootBrowserLite.cxx:47
 TRootBrowserLite.cxx:48
 TRootBrowserLite.cxx:49
 TRootBrowserLite.cxx:50
 TRootBrowserLite.cxx:51
 TRootBrowserLite.cxx:52
 TRootBrowserLite.cxx:53
 TRootBrowserLite.cxx:54
 TRootBrowserLite.cxx:55
 TRootBrowserLite.cxx:56
 TRootBrowserLite.cxx:57
 TRootBrowserLite.cxx:58
 TRootBrowserLite.cxx:59
 TRootBrowserLite.cxx:60
 TRootBrowserLite.cxx:61
 TRootBrowserLite.cxx:62
 TRootBrowserLite.cxx:63
 TRootBrowserLite.cxx:64
 TRootBrowserLite.cxx:65
 TRootBrowserLite.cxx:66
 TRootBrowserLite.cxx:67
 TRootBrowserLite.cxx:68
 TRootBrowserLite.cxx:69
 TRootBrowserLite.cxx:70
 TRootBrowserLite.cxx:71
 TRootBrowserLite.cxx:72
 TRootBrowserLite.cxx:73
 TRootBrowserLite.cxx:74
 TRootBrowserLite.cxx:75
 TRootBrowserLite.cxx:76
 TRootBrowserLite.cxx:77
 TRootBrowserLite.cxx:78
 TRootBrowserLite.cxx:79
 TRootBrowserLite.cxx:80
 TRootBrowserLite.cxx:81
 TRootBrowserLite.cxx:82
 TRootBrowserLite.cxx:83
 TRootBrowserLite.cxx:84
 TRootBrowserLite.cxx:85
 TRootBrowserLite.cxx:86
 TRootBrowserLite.cxx:87
 TRootBrowserLite.cxx:88
 TRootBrowserLite.cxx:89
 TRootBrowserLite.cxx:90
 TRootBrowserLite.cxx:91
 TRootBrowserLite.cxx:92
 TRootBrowserLite.cxx:93
 TRootBrowserLite.cxx:94
 TRootBrowserLite.cxx:95
 TRootBrowserLite.cxx:96
 TRootBrowserLite.cxx:97
 TRootBrowserLite.cxx:98
 TRootBrowserLite.cxx:99
 TRootBrowserLite.cxx:100
 TRootBrowserLite.cxx:101
 TRootBrowserLite.cxx:102
 TRootBrowserLite.cxx:103
 TRootBrowserLite.cxx:104
 TRootBrowserLite.cxx:105
 TRootBrowserLite.cxx:106
 TRootBrowserLite.cxx:107
 TRootBrowserLite.cxx:108
 TRootBrowserLite.cxx:109
 TRootBrowserLite.cxx:110
 TRootBrowserLite.cxx:111
 TRootBrowserLite.cxx:112
 TRootBrowserLite.cxx:113
 TRootBrowserLite.cxx:114
 TRootBrowserLite.cxx:115
 TRootBrowserLite.cxx:116
 TRootBrowserLite.cxx:117
 TRootBrowserLite.cxx:118
 TRootBrowserLite.cxx:119
 TRootBrowserLite.cxx:120
 TRootBrowserLite.cxx:121
 TRootBrowserLite.cxx:122
 TRootBrowserLite.cxx:123
 TRootBrowserLite.cxx:124
 TRootBrowserLite.cxx:125
 TRootBrowserLite.cxx:126
 TRootBrowserLite.cxx:127
 TRootBrowserLite.cxx:128
 TRootBrowserLite.cxx:129
 TRootBrowserLite.cxx:130
 TRootBrowserLite.cxx:131
 TRootBrowserLite.cxx:132
 TRootBrowserLite.cxx:133
 TRootBrowserLite.cxx:134
 TRootBrowserLite.cxx:135
 TRootBrowserLite.cxx:136
 TRootBrowserLite.cxx:137
 TRootBrowserLite.cxx:138
 TRootBrowserLite.cxx:139
 TRootBrowserLite.cxx:140
 TRootBrowserLite.cxx:141
 TRootBrowserLite.cxx:142
 TRootBrowserLite.cxx:143
 TRootBrowserLite.cxx:144
 TRootBrowserLite.cxx:145
 TRootBrowserLite.cxx:146
 TRootBrowserLite.cxx:147
 TRootBrowserLite.cxx:148
 TRootBrowserLite.cxx:149
 TRootBrowserLite.cxx:150
 TRootBrowserLite.cxx:151
 TRootBrowserLite.cxx:152
 TRootBrowserLite.cxx:153
 TRootBrowserLite.cxx:154
 TRootBrowserLite.cxx:155
 TRootBrowserLite.cxx:156
 TRootBrowserLite.cxx:157
 TRootBrowserLite.cxx:158
 TRootBrowserLite.cxx:159
 TRootBrowserLite.cxx:160
 TRootBrowserLite.cxx:161
 TRootBrowserLite.cxx:162
 TRootBrowserLite.cxx:163
 TRootBrowserLite.cxx:164
 TRootBrowserLite.cxx:165
 TRootBrowserLite.cxx:166
 TRootBrowserLite.cxx:167
 TRootBrowserLite.cxx:168
 TRootBrowserLite.cxx:169
 TRootBrowserLite.cxx:170
 TRootBrowserLite.cxx:171
 TRootBrowserLite.cxx:172
 TRootBrowserLite.cxx:173
 TRootBrowserLite.cxx:174
 TRootBrowserLite.cxx:175
 TRootBrowserLite.cxx:176
 TRootBrowserLite.cxx:177
 TRootBrowserLite.cxx:178
 TRootBrowserLite.cxx:179
 TRootBrowserLite.cxx:180
 TRootBrowserLite.cxx:181
 TRootBrowserLite.cxx:182
 TRootBrowserLite.cxx:183
 TRootBrowserLite.cxx:184
 TRootBrowserLite.cxx:185
 TRootBrowserLite.cxx:186
 TRootBrowserLite.cxx:187
 TRootBrowserLite.cxx:188
 TRootBrowserLite.cxx:189
 TRootBrowserLite.cxx:190
 TRootBrowserLite.cxx:191
 TRootBrowserLite.cxx:192
 TRootBrowserLite.cxx:193
 TRootBrowserLite.cxx:194
 TRootBrowserLite.cxx:195
 TRootBrowserLite.cxx:196
 TRootBrowserLite.cxx:197
 TRootBrowserLite.cxx:198
 TRootBrowserLite.cxx:199
 TRootBrowserLite.cxx:200
 TRootBrowserLite.cxx:201
 TRootBrowserLite.cxx:202
 TRootBrowserLite.cxx:203
 TRootBrowserLite.cxx:204
 TRootBrowserLite.cxx:205
 TRootBrowserLite.cxx:206
 TRootBrowserLite.cxx:207
 TRootBrowserLite.cxx:208
 TRootBrowserLite.cxx:209
 TRootBrowserLite.cxx:210
 TRootBrowserLite.cxx:211
 TRootBrowserLite.cxx:212
 TRootBrowserLite.cxx:213
 TRootBrowserLite.cxx:214
 TRootBrowserLite.cxx:215
 TRootBrowserLite.cxx:216
 TRootBrowserLite.cxx:217
 TRootBrowserLite.cxx:218
 TRootBrowserLite.cxx:219
 TRootBrowserLite.cxx:220
 TRootBrowserLite.cxx:221
 TRootBrowserLite.cxx:222
 TRootBrowserLite.cxx:223
 TRootBrowserLite.cxx:224
 TRootBrowserLite.cxx:225
 TRootBrowserLite.cxx:226
 TRootBrowserLite.cxx:227
 TRootBrowserLite.cxx:228
 TRootBrowserLite.cxx:229
 TRootBrowserLite.cxx:230
 TRootBrowserLite.cxx:231
 TRootBrowserLite.cxx:232
 TRootBrowserLite.cxx:233
 TRootBrowserLite.cxx:234
 TRootBrowserLite.cxx:235
 TRootBrowserLite.cxx:236
 TRootBrowserLite.cxx:237
 TRootBrowserLite.cxx:238
 TRootBrowserLite.cxx:239
 TRootBrowserLite.cxx:240
 TRootBrowserLite.cxx:241
 TRootBrowserLite.cxx:242
 TRootBrowserLite.cxx:243
 TRootBrowserLite.cxx:244
 TRootBrowserLite.cxx:245
 TRootBrowserLite.cxx:246
 TRootBrowserLite.cxx:247
 TRootBrowserLite.cxx:248
 TRootBrowserLite.cxx:249
 TRootBrowserLite.cxx:250
 TRootBrowserLite.cxx:251
 TRootBrowserLite.cxx:252
 TRootBrowserLite.cxx:253
 TRootBrowserLite.cxx:254
 TRootBrowserLite.cxx:255
 TRootBrowserLite.cxx:256
 TRootBrowserLite.cxx:257
 TRootBrowserLite.cxx:258
 TRootBrowserLite.cxx:259
 TRootBrowserLite.cxx:260
 TRootBrowserLite.cxx:261
 TRootBrowserLite.cxx:262
 TRootBrowserLite.cxx:263
 TRootBrowserLite.cxx:264
 TRootBrowserLite.cxx:265
 TRootBrowserLite.cxx:266
 TRootBrowserLite.cxx:267
 TRootBrowserLite.cxx:268
 TRootBrowserLite.cxx:269
 TRootBrowserLite.cxx:270
 TRootBrowserLite.cxx:271
 TRootBrowserLite.cxx:272
 TRootBrowserLite.cxx:273
 TRootBrowserLite.cxx:274
 TRootBrowserLite.cxx:275
 TRootBrowserLite.cxx:276
 TRootBrowserLite.cxx:277
 TRootBrowserLite.cxx:278
 TRootBrowserLite.cxx:279
 TRootBrowserLite.cxx:280
 TRootBrowserLite.cxx:281
 TRootBrowserLite.cxx:282
 TRootBrowserLite.cxx:283
 TRootBrowserLite.cxx:284
 TRootBrowserLite.cxx:285
 TRootBrowserLite.cxx:286
 TRootBrowserLite.cxx:287
 TRootBrowserLite.cxx:288
 TRootBrowserLite.cxx:289
 TRootBrowserLite.cxx:290
 TRootBrowserLite.cxx:291
 TRootBrowserLite.cxx:292
 TRootBrowserLite.cxx:293
 TRootBrowserLite.cxx:294
 TRootBrowserLite.cxx:295
 TRootBrowserLite.cxx:296
 TRootBrowserLite.cxx:297
 TRootBrowserLite.cxx:298
 TRootBrowserLite.cxx:299
 TRootBrowserLite.cxx:300
 TRootBrowserLite.cxx:301
 TRootBrowserLite.cxx:302
 TRootBrowserLite.cxx:303
 TRootBrowserLite.cxx:304
 TRootBrowserLite.cxx:305
 TRootBrowserLite.cxx:306
 TRootBrowserLite.cxx:307
 TRootBrowserLite.cxx:308
 TRootBrowserLite.cxx:309
 TRootBrowserLite.cxx:310
 TRootBrowserLite.cxx:311
 TRootBrowserLite.cxx:312
 TRootBrowserLite.cxx:313
 TRootBrowserLite.cxx:314
 TRootBrowserLite.cxx:315
 TRootBrowserLite.cxx:316
 TRootBrowserLite.cxx:317
 TRootBrowserLite.cxx:318
 TRootBrowserLite.cxx:319
 TRootBrowserLite.cxx:320
 TRootBrowserLite.cxx:321
 TRootBrowserLite.cxx:322
 TRootBrowserLite.cxx:323
 TRootBrowserLite.cxx:324
 TRootBrowserLite.cxx:325
 TRootBrowserLite.cxx:326
 TRootBrowserLite.cxx:327
 TRootBrowserLite.cxx:328
 TRootBrowserLite.cxx:329
 TRootBrowserLite.cxx:330
 TRootBrowserLite.cxx:331
 TRootBrowserLite.cxx:332
 TRootBrowserLite.cxx:333
 TRootBrowserLite.cxx:334
 TRootBrowserLite.cxx:335
 TRootBrowserLite.cxx:336
 TRootBrowserLite.cxx:337
 TRootBrowserLite.cxx:338
 TRootBrowserLite.cxx:339
 TRootBrowserLite.cxx:340
 TRootBrowserLite.cxx:341
 TRootBrowserLite.cxx:342
 TRootBrowserLite.cxx:343
 TRootBrowserLite.cxx:344
 TRootBrowserLite.cxx:345
 TRootBrowserLite.cxx:346
 TRootBrowserLite.cxx:347
 TRootBrowserLite.cxx:348
 TRootBrowserLite.cxx:349
 TRootBrowserLite.cxx:350
 TRootBrowserLite.cxx:351
 TRootBrowserLite.cxx:352
 TRootBrowserLite.cxx:353
 TRootBrowserLite.cxx:354
 TRootBrowserLite.cxx:355
 TRootBrowserLite.cxx:356
 TRootBrowserLite.cxx:357
 TRootBrowserLite.cxx:358
 TRootBrowserLite.cxx:359
 TRootBrowserLite.cxx:360
 TRootBrowserLite.cxx:361
 TRootBrowserLite.cxx:362
 TRootBrowserLite.cxx:363
 TRootBrowserLite.cxx:364
 TRootBrowserLite.cxx:365
 TRootBrowserLite.cxx:366
 TRootBrowserLite.cxx:367
 TRootBrowserLite.cxx:368
 TRootBrowserLite.cxx:369
 TRootBrowserLite.cxx:370
 TRootBrowserLite.cxx:371
 TRootBrowserLite.cxx:372
 TRootBrowserLite.cxx:373
 TRootBrowserLite.cxx:374
 TRootBrowserLite.cxx:375
 TRootBrowserLite.cxx:376
 TRootBrowserLite.cxx:377
 TRootBrowserLite.cxx:378
 TRootBrowserLite.cxx:379
 TRootBrowserLite.cxx:380
 TRootBrowserLite.cxx:381
 TRootBrowserLite.cxx:382
 TRootBrowserLite.cxx:383
 TRootBrowserLite.cxx:384
 TRootBrowserLite.cxx:385
 TRootBrowserLite.cxx:386
 TRootBrowserLite.cxx:387
 TRootBrowserLite.cxx:388
 TRootBrowserLite.cxx:389
 TRootBrowserLite.cxx:390
 TRootBrowserLite.cxx:391
 TRootBrowserLite.cxx:392
 TRootBrowserLite.cxx:393
 TRootBrowserLite.cxx:394
 TRootBrowserLite.cxx:395
 TRootBrowserLite.cxx:396
 TRootBrowserLite.cxx:397
 TRootBrowserLite.cxx:398
 TRootBrowserLite.cxx:399
 TRootBrowserLite.cxx:400
 TRootBrowserLite.cxx:401
 TRootBrowserLite.cxx:402
 TRootBrowserLite.cxx:403
 TRootBrowserLite.cxx:404
 TRootBrowserLite.cxx:405
 TRootBrowserLite.cxx:406
 TRootBrowserLite.cxx:407
 TRootBrowserLite.cxx:408
 TRootBrowserLite.cxx:409
 TRootBrowserLite.cxx:410
 TRootBrowserLite.cxx:411
 TRootBrowserLite.cxx:412
 TRootBrowserLite.cxx:413
 TRootBrowserLite.cxx:414
 TRootBrowserLite.cxx:415
 TRootBrowserLite.cxx:416
 TRootBrowserLite.cxx:417
 TRootBrowserLite.cxx:418
 TRootBrowserLite.cxx:419
 TRootBrowserLite.cxx:420
 TRootBrowserLite.cxx:421
 TRootBrowserLite.cxx:422
 TRootBrowserLite.cxx:423
 TRootBrowserLite.cxx:424
 TRootBrowserLite.cxx:425
 TRootBrowserLite.cxx:426
 TRootBrowserLite.cxx:427
 TRootBrowserLite.cxx:428
 TRootBrowserLite.cxx:429
 TRootBrowserLite.cxx:430
 TRootBrowserLite.cxx:431
 TRootBrowserLite.cxx:432
 TRootBrowserLite.cxx:433
 TRootBrowserLite.cxx:434
 TRootBrowserLite.cxx:435
 TRootBrowserLite.cxx:436
 TRootBrowserLite.cxx:437
 TRootBrowserLite.cxx:438
 TRootBrowserLite.cxx:439
 TRootBrowserLite.cxx:440
 TRootBrowserLite.cxx:441
 TRootBrowserLite.cxx:442
 TRootBrowserLite.cxx:443
 TRootBrowserLite.cxx:444
 TRootBrowserLite.cxx:445
 TRootBrowserLite.cxx:446
 TRootBrowserLite.cxx:447
 TRootBrowserLite.cxx:448
 TRootBrowserLite.cxx:449
 TRootBrowserLite.cxx:450
 TRootBrowserLite.cxx:451
 TRootBrowserLite.cxx:452
 TRootBrowserLite.cxx:453
 TRootBrowserLite.cxx:454
 TRootBrowserLite.cxx:455
 TRootBrowserLite.cxx:456
 TRootBrowserLite.cxx:457
 TRootBrowserLite.cxx:458
 TRootBrowserLite.cxx:459
 TRootBrowserLite.cxx:460
 TRootBrowserLite.cxx:461
 TRootBrowserLite.cxx:462
 TRootBrowserLite.cxx:463
 TRootBrowserLite.cxx:464
 TRootBrowserLite.cxx:465
 TRootBrowserLite.cxx:466
 TRootBrowserLite.cxx:467
 TRootBrowserLite.cxx:468
 TRootBrowserLite.cxx:469
 TRootBrowserLite.cxx:470
 TRootBrowserLite.cxx:471
 TRootBrowserLite.cxx:472
 TRootBrowserLite.cxx:473
 TRootBrowserLite.cxx:474
 TRootBrowserLite.cxx:475
 TRootBrowserLite.cxx:476
 TRootBrowserLite.cxx:477
 TRootBrowserLite.cxx:478
 TRootBrowserLite.cxx:479
 TRootBrowserLite.cxx:480
 TRootBrowserLite.cxx:481
 TRootBrowserLite.cxx:482
 TRootBrowserLite.cxx:483
 TRootBrowserLite.cxx:484
 TRootBrowserLite.cxx:485
 TRootBrowserLite.cxx:486
 TRootBrowserLite.cxx:487
 TRootBrowserLite.cxx:488
 TRootBrowserLite.cxx:489
 TRootBrowserLite.cxx:490
 TRootBrowserLite.cxx:491
 TRootBrowserLite.cxx:492
 TRootBrowserLite.cxx:493
 TRootBrowserLite.cxx:494
 TRootBrowserLite.cxx:495
 TRootBrowserLite.cxx:496
 TRootBrowserLite.cxx:497
 TRootBrowserLite.cxx:498
 TRootBrowserLite.cxx:499
 TRootBrowserLite.cxx:500
 TRootBrowserLite.cxx:501
 TRootBrowserLite.cxx:502
 TRootBrowserLite.cxx:503
 TRootBrowserLite.cxx:504
 TRootBrowserLite.cxx:505
 TRootBrowserLite.cxx:506
 TRootBrowserLite.cxx:507
 TRootBrowserLite.cxx:508
 TRootBrowserLite.cxx:509
 TRootBrowserLite.cxx:510
 TRootBrowserLite.cxx:511
 TRootBrowserLite.cxx:512
 TRootBrowserLite.cxx:513
 TRootBrowserLite.cxx:514
 TRootBrowserLite.cxx:515
 TRootBrowserLite.cxx:516
 TRootBrowserLite.cxx:517
 TRootBrowserLite.cxx:518
 TRootBrowserLite.cxx:519
 TRootBrowserLite.cxx:520
 TRootBrowserLite.cxx:521
 TRootBrowserLite.cxx:522
 TRootBrowserLite.cxx:523
 TRootBrowserLite.cxx:524
 TRootBrowserLite.cxx:525
 TRootBrowserLite.cxx:526
 TRootBrowserLite.cxx:527
 TRootBrowserLite.cxx:528
 TRootBrowserLite.cxx:529
 TRootBrowserLite.cxx:530
 TRootBrowserLite.cxx:531
 TRootBrowserLite.cxx:532
 TRootBrowserLite.cxx:533
 TRootBrowserLite.cxx:534
 TRootBrowserLite.cxx:535
 TRootBrowserLite.cxx:536
 TRootBrowserLite.cxx:537
 TRootBrowserLite.cxx:538
 TRootBrowserLite.cxx:539
 TRootBrowserLite.cxx:540
 TRootBrowserLite.cxx:541
 TRootBrowserLite.cxx:542
 TRootBrowserLite.cxx:543
 TRootBrowserLite.cxx:544
 TRootBrowserLite.cxx:545
 TRootBrowserLite.cxx:546
 TRootBrowserLite.cxx:547
 TRootBrowserLite.cxx:548
 TRootBrowserLite.cxx:549
 TRootBrowserLite.cxx:550
 TRootBrowserLite.cxx:551
 TRootBrowserLite.cxx:552
 TRootBrowserLite.cxx:553
 TRootBrowserLite.cxx:554
 TRootBrowserLite.cxx:555
 TRootBrowserLite.cxx:556
 TRootBrowserLite.cxx:557
 TRootBrowserLite.cxx:558
 TRootBrowserLite.cxx:559
 TRootBrowserLite.cxx:560
 TRootBrowserLite.cxx:561
 TRootBrowserLite.cxx:562
 TRootBrowserLite.cxx:563
 TRootBrowserLite.cxx:564
 TRootBrowserLite.cxx:565
 TRootBrowserLite.cxx:566
 TRootBrowserLite.cxx:567
 TRootBrowserLite.cxx:568
 TRootBrowserLite.cxx:569
 TRootBrowserLite.cxx:570
 TRootBrowserLite.cxx:571
 TRootBrowserLite.cxx:572
 TRootBrowserLite.cxx:573
 TRootBrowserLite.cxx:574
 TRootBrowserLite.cxx:575
 TRootBrowserLite.cxx:576
 TRootBrowserLite.cxx:577
 TRootBrowserLite.cxx:578
 TRootBrowserLite.cxx:579
 TRootBrowserLite.cxx:580
 TRootBrowserLite.cxx:581
 TRootBrowserLite.cxx:582
 TRootBrowserLite.cxx:583
 TRootBrowserLite.cxx:584
 TRootBrowserLite.cxx:585
 TRootBrowserLite.cxx:586
 TRootBrowserLite.cxx:587
 TRootBrowserLite.cxx:588
 TRootBrowserLite.cxx:589
 TRootBrowserLite.cxx:590
 TRootBrowserLite.cxx:591
 TRootBrowserLite.cxx:592
 TRootBrowserLite.cxx:593
 TRootBrowserLite.cxx:594
 TRootBrowserLite.cxx:595
 TRootBrowserLite.cxx:596
 TRootBrowserLite.cxx:597
 TRootBrowserLite.cxx:598
 TRootBrowserLite.cxx:599
 TRootBrowserLite.cxx:600
 TRootBrowserLite.cxx:601
 TRootBrowserLite.cxx:602
 TRootBrowserLite.cxx:603
 TRootBrowserLite.cxx:604
 TRootBrowserLite.cxx:605
 TRootBrowserLite.cxx:606
 TRootBrowserLite.cxx:607
 TRootBrowserLite.cxx:608
 TRootBrowserLite.cxx:609
 TRootBrowserLite.cxx:610
 TRootBrowserLite.cxx:611
 TRootBrowserLite.cxx:612
 TRootBrowserLite.cxx:613
 TRootBrowserLite.cxx:614
 TRootBrowserLite.cxx:615
 TRootBrowserLite.cxx:616
 TRootBrowserLite.cxx:617
 TRootBrowserLite.cxx:618
 TRootBrowserLite.cxx:619
 TRootBrowserLite.cxx:620
 TRootBrowserLite.cxx:621
 TRootBrowserLite.cxx:622
 TRootBrowserLite.cxx:623
 TRootBrowserLite.cxx:624
 TRootBrowserLite.cxx:625
 TRootBrowserLite.cxx:626
 TRootBrowserLite.cxx:627
 TRootBrowserLite.cxx:628
 TRootBrowserLite.cxx:629
 TRootBrowserLite.cxx:630
 TRootBrowserLite.cxx:631
 TRootBrowserLite.cxx:632
 TRootBrowserLite.cxx:633
 TRootBrowserLite.cxx:634
 TRootBrowserLite.cxx:635
 TRootBrowserLite.cxx:636
 TRootBrowserLite.cxx:637
 TRootBrowserLite.cxx:638
 TRootBrowserLite.cxx:639
 TRootBrowserLite.cxx:640
 TRootBrowserLite.cxx:641
 TRootBrowserLite.cxx:642
 TRootBrowserLite.cxx:643
 TRootBrowserLite.cxx:644
 TRootBrowserLite.cxx:645
 TRootBrowserLite.cxx:646
 TRootBrowserLite.cxx:647
 TRootBrowserLite.cxx:648
 TRootBrowserLite.cxx:649
 TRootBrowserLite.cxx:650
 TRootBrowserLite.cxx:651
 TRootBrowserLite.cxx:652
 TRootBrowserLite.cxx:653
 TRootBrowserLite.cxx:654
 TRootBrowserLite.cxx:655
 TRootBrowserLite.cxx:656
 TRootBrowserLite.cxx:657
 TRootBrowserLite.cxx:658
 TRootBrowserLite.cxx:659
 TRootBrowserLite.cxx:660
 TRootBrowserLite.cxx:661
 TRootBrowserLite.cxx:662
 TRootBrowserLite.cxx:663
 TRootBrowserLite.cxx:664
 TRootBrowserLite.cxx:665
 TRootBrowserLite.cxx:666
 TRootBrowserLite.cxx:667
 TRootBrowserLite.cxx:668
 TRootBrowserLite.cxx:669
 TRootBrowserLite.cxx:670
 TRootBrowserLite.cxx:671
 TRootBrowserLite.cxx:672
 TRootBrowserLite.cxx:673
 TRootBrowserLite.cxx:674
 TRootBrowserLite.cxx:675
 TRootBrowserLite.cxx:676
 TRootBrowserLite.cxx:677
 TRootBrowserLite.cxx:678
 TRootBrowserLite.cxx:679
 TRootBrowserLite.cxx:680
 TRootBrowserLite.cxx:681
 TRootBrowserLite.cxx:682
 TRootBrowserLite.cxx:683
 TRootBrowserLite.cxx:684
 TRootBrowserLite.cxx:685
 TRootBrowserLite.cxx:686
 TRootBrowserLite.cxx:687
 TRootBrowserLite.cxx:688
 TRootBrowserLite.cxx:689
 TRootBrowserLite.cxx:690
 TRootBrowserLite.cxx:691
 TRootBrowserLite.cxx:692
 TRootBrowserLite.cxx:693
 TRootBrowserLite.cxx:694
 TRootBrowserLite.cxx:695
 TRootBrowserLite.cxx:696
 TRootBrowserLite.cxx:697
 TRootBrowserLite.cxx:698
 TRootBrowserLite.cxx:699
 TRootBrowserLite.cxx:700
 TRootBrowserLite.cxx:701
 TRootBrowserLite.cxx:702
 TRootBrowserLite.cxx:703
 TRootBrowserLite.cxx:704
 TRootBrowserLite.cxx:705
 TRootBrowserLite.cxx:706
 TRootBrowserLite.cxx:707
 TRootBrowserLite.cxx:708
 TRootBrowserLite.cxx:709
 TRootBrowserLite.cxx:710
 TRootBrowserLite.cxx:711
 TRootBrowserLite.cxx:712
 TRootBrowserLite.cxx:713
 TRootBrowserLite.cxx:714
 TRootBrowserLite.cxx:715
 TRootBrowserLite.cxx:716
 TRootBrowserLite.cxx:717
 TRootBrowserLite.cxx:718
 TRootBrowserLite.cxx:719
 TRootBrowserLite.cxx:720
 TRootBrowserLite.cxx:721
 TRootBrowserLite.cxx:722
 TRootBrowserLite.cxx:723
 TRootBrowserLite.cxx:724
 TRootBrowserLite.cxx:725
 TRootBrowserLite.cxx:726
 TRootBrowserLite.cxx:727
 TRootBrowserLite.cxx:728
 TRootBrowserLite.cxx:729
 TRootBrowserLite.cxx:730
 TRootBrowserLite.cxx:731
 TRootBrowserLite.cxx:732
 TRootBrowserLite.cxx:733
 TRootBrowserLite.cxx:734
 TRootBrowserLite.cxx:735
 TRootBrowserLite.cxx:736
 TRootBrowserLite.cxx:737
 TRootBrowserLite.cxx:738
 TRootBrowserLite.cxx:739
 TRootBrowserLite.cxx:740
 TRootBrowserLite.cxx:741
 TRootBrowserLite.cxx:742
 TRootBrowserLite.cxx:743
 TRootBrowserLite.cxx:744
 TRootBrowserLite.cxx:745
 TRootBrowserLite.cxx:746
 TRootBrowserLite.cxx:747
 TRootBrowserLite.cxx:748
 TRootBrowserLite.cxx:749
 TRootBrowserLite.cxx:750
 TRootBrowserLite.cxx:751
 TRootBrowserLite.cxx:752
 TRootBrowserLite.cxx:753
 TRootBrowserLite.cxx:754
 TRootBrowserLite.cxx:755
 TRootBrowserLite.cxx:756
 TRootBrowserLite.cxx:757
 TRootBrowserLite.cxx:758
 TRootBrowserLite.cxx:759
 TRootBrowserLite.cxx:760
 TRootBrowserLite.cxx:761
 TRootBrowserLite.cxx:762
 TRootBrowserLite.cxx:763
 TRootBrowserLite.cxx:764
 TRootBrowserLite.cxx:765
 TRootBrowserLite.cxx:766
 TRootBrowserLite.cxx:767
 TRootBrowserLite.cxx:768
 TRootBrowserLite.cxx:769
 TRootBrowserLite.cxx:770
 TRootBrowserLite.cxx:771
 TRootBrowserLite.cxx:772
 TRootBrowserLite.cxx:773
 TRootBrowserLite.cxx:774
 TRootBrowserLite.cxx:775
 TRootBrowserLite.cxx:776
 TRootBrowserLite.cxx:777
 TRootBrowserLite.cxx:778
 TRootBrowserLite.cxx:779
 TRootBrowserLite.cxx:780
 TRootBrowserLite.cxx:781
 TRootBrowserLite.cxx:782
 TRootBrowserLite.cxx:783
 TRootBrowserLite.cxx:784
 TRootBrowserLite.cxx:785
 TRootBrowserLite.cxx:786
 TRootBrowserLite.cxx:787
 TRootBrowserLite.cxx:788
 TRootBrowserLite.cxx:789
 TRootBrowserLite.cxx:790
 TRootBrowserLite.cxx:791
 TRootBrowserLite.cxx:792
 TRootBrowserLite.cxx:793
 TRootBrowserLite.cxx:794
 TRootBrowserLite.cxx:795
 TRootBrowserLite.cxx:796
 TRootBrowserLite.cxx:797
 TRootBrowserLite.cxx:798
 TRootBrowserLite.cxx:799
 TRootBrowserLite.cxx:800
 TRootBrowserLite.cxx:801
 TRootBrowserLite.cxx:802
 TRootBrowserLite.cxx:803
 TRootBrowserLite.cxx:804
 TRootBrowserLite.cxx:805
 TRootBrowserLite.cxx:806
 TRootBrowserLite.cxx:807
 TRootBrowserLite.cxx:808
 TRootBrowserLite.cxx:809
 TRootBrowserLite.cxx:810
 TRootBrowserLite.cxx:811
 TRootBrowserLite.cxx:812
 TRootBrowserLite.cxx:813
 TRootBrowserLite.cxx:814
 TRootBrowserLite.cxx:815
 TRootBrowserLite.cxx:816
 TRootBrowserLite.cxx:817
 TRootBrowserLite.cxx:818
 TRootBrowserLite.cxx:819
 TRootBrowserLite.cxx:820
 TRootBrowserLite.cxx:821
 TRootBrowserLite.cxx:822
 TRootBrowserLite.cxx:823
 TRootBrowserLite.cxx:824
 TRootBrowserLite.cxx:825
 TRootBrowserLite.cxx:826
 TRootBrowserLite.cxx:827
 TRootBrowserLite.cxx:828
 TRootBrowserLite.cxx:829
 TRootBrowserLite.cxx:830
 TRootBrowserLite.cxx:831
 TRootBrowserLite.cxx:832
 TRootBrowserLite.cxx:833
 TRootBrowserLite.cxx:834
 TRootBrowserLite.cxx:835
 TRootBrowserLite.cxx:836
 TRootBrowserLite.cxx:837
 TRootBrowserLite.cxx:838
 TRootBrowserLite.cxx:839
 TRootBrowserLite.cxx:840
 TRootBrowserLite.cxx:841
 TRootBrowserLite.cxx:842
 TRootBrowserLite.cxx:843
 TRootBrowserLite.cxx:844
 TRootBrowserLite.cxx:845
 TRootBrowserLite.cxx:846
 TRootBrowserLite.cxx:847
 TRootBrowserLite.cxx:848
 TRootBrowserLite.cxx:849
 TRootBrowserLite.cxx:850
 TRootBrowserLite.cxx:851
 TRootBrowserLite.cxx:852
 TRootBrowserLite.cxx:853
 TRootBrowserLite.cxx:854
 TRootBrowserLite.cxx:855
 TRootBrowserLite.cxx:856
 TRootBrowserLite.cxx:857
 TRootBrowserLite.cxx:858
 TRootBrowserLite.cxx:859
 TRootBrowserLite.cxx:860
 TRootBrowserLite.cxx:861
 TRootBrowserLite.cxx:862
 TRootBrowserLite.cxx:863
 TRootBrowserLite.cxx:864
 TRootBrowserLite.cxx:865
 TRootBrowserLite.cxx:866
 TRootBrowserLite.cxx:867
 TRootBrowserLite.cxx:868
 TRootBrowserLite.cxx:869
 TRootBrowserLite.cxx:870
 TRootBrowserLite.cxx:871
 TRootBrowserLite.cxx:872
 TRootBrowserLite.cxx:873
 TRootBrowserLite.cxx:874
 TRootBrowserLite.cxx:875
 TRootBrowserLite.cxx:876
 TRootBrowserLite.cxx:877
 TRootBrowserLite.cxx:878
 TRootBrowserLite.cxx:879
 TRootBrowserLite.cxx:880
 TRootBrowserLite.cxx:881
 TRootBrowserLite.cxx:882
 TRootBrowserLite.cxx:883
 TRootBrowserLite.cxx:884
 TRootBrowserLite.cxx:885
 TRootBrowserLite.cxx:886
 TRootBrowserLite.cxx:887
 TRootBrowserLite.cxx:888
 TRootBrowserLite.cxx:889
 TRootBrowserLite.cxx:890
 TRootBrowserLite.cxx:891
 TRootBrowserLite.cxx:892
 TRootBrowserLite.cxx:893
 TRootBrowserLite.cxx:894
 TRootBrowserLite.cxx:895
 TRootBrowserLite.cxx:896
 TRootBrowserLite.cxx:897
 TRootBrowserLite.cxx:898
 TRootBrowserLite.cxx:899
 TRootBrowserLite.cxx:900
 TRootBrowserLite.cxx:901
 TRootBrowserLite.cxx:902
 TRootBrowserLite.cxx:903
 TRootBrowserLite.cxx:904
 TRootBrowserLite.cxx:905
 TRootBrowserLite.cxx:906
 TRootBrowserLite.cxx:907
 TRootBrowserLite.cxx:908
 TRootBrowserLite.cxx:909
 TRootBrowserLite.cxx:910
 TRootBrowserLite.cxx:911
 TRootBrowserLite.cxx:912
 TRootBrowserLite.cxx:913
 TRootBrowserLite.cxx:914
 TRootBrowserLite.cxx:915
 TRootBrowserLite.cxx:916
 TRootBrowserLite.cxx:917
 TRootBrowserLite.cxx:918
 TRootBrowserLite.cxx:919
 TRootBrowserLite.cxx:920
 TRootBrowserLite.cxx:921
 TRootBrowserLite.cxx:922
 TRootBrowserLite.cxx:923
 TRootBrowserLite.cxx:924
 TRootBrowserLite.cxx:925
 TRootBrowserLite.cxx:926
 TRootBrowserLite.cxx:927
 TRootBrowserLite.cxx:928
 TRootBrowserLite.cxx:929
 TRootBrowserLite.cxx:930
 TRootBrowserLite.cxx:931
 TRootBrowserLite.cxx:932
 TRootBrowserLite.cxx:933
 TRootBrowserLite.cxx:934
 TRootBrowserLite.cxx:935
 TRootBrowserLite.cxx:936
 TRootBrowserLite.cxx:937
 TRootBrowserLite.cxx:938
 TRootBrowserLite.cxx:939
 TRootBrowserLite.cxx:940
 TRootBrowserLite.cxx:941
 TRootBrowserLite.cxx:942
 TRootBrowserLite.cxx:943
 TRootBrowserLite.cxx:944
 TRootBrowserLite.cxx:945
 TRootBrowserLite.cxx:946
 TRootBrowserLite.cxx:947
 TRootBrowserLite.cxx:948
 TRootBrowserLite.cxx:949
 TRootBrowserLite.cxx:950
 TRootBrowserLite.cxx:951
 TRootBrowserLite.cxx:952
 TRootBrowserLite.cxx:953
 TRootBrowserLite.cxx:954
 TRootBrowserLite.cxx:955
 TRootBrowserLite.cxx:956
 TRootBrowserLite.cxx:957
 TRootBrowserLite.cxx:958
 TRootBrowserLite.cxx:959
 TRootBrowserLite.cxx:960
 TRootBrowserLite.cxx:961
 TRootBrowserLite.cxx:962
 TRootBrowserLite.cxx:963
 TRootBrowserLite.cxx:964
 TRootBrowserLite.cxx:965
 TRootBrowserLite.cxx:966
 TRootBrowserLite.cxx:967
 TRootBrowserLite.cxx:968
 TRootBrowserLite.cxx:969
 TRootBrowserLite.cxx:970
 TRootBrowserLite.cxx:971
 TRootBrowserLite.cxx:972
 TRootBrowserLite.cxx:973
 TRootBrowserLite.cxx:974
 TRootBrowserLite.cxx:975
 TRootBrowserLite.cxx:976
 TRootBrowserLite.cxx:977
 TRootBrowserLite.cxx:978
 TRootBrowserLite.cxx:979
 TRootBrowserLite.cxx:980
 TRootBrowserLite.cxx:981
 TRootBrowserLite.cxx:982
 TRootBrowserLite.cxx:983
 TRootBrowserLite.cxx:984
 TRootBrowserLite.cxx:985
 TRootBrowserLite.cxx:986
 TRootBrowserLite.cxx:987
 TRootBrowserLite.cxx:988
 TRootBrowserLite.cxx:989
 TRootBrowserLite.cxx:990
 TRootBrowserLite.cxx:991
 TRootBrowserLite.cxx:992
 TRootBrowserLite.cxx:993
 TRootBrowserLite.cxx:994
 TRootBrowserLite.cxx:995
 TRootBrowserLite.cxx:996
 TRootBrowserLite.cxx:997
 TRootBrowserLite.cxx:998
 TRootBrowserLite.cxx:999
 TRootBrowserLite.cxx:1000
 TRootBrowserLite.cxx:1001
 TRootBrowserLite.cxx:1002
 TRootBrowserLite.cxx:1003
 TRootBrowserLite.cxx:1004
 TRootBrowserLite.cxx:1005
 TRootBrowserLite.cxx:1006
 TRootBrowserLite.cxx:1007
 TRootBrowserLite.cxx:1008
 TRootBrowserLite.cxx:1009
 TRootBrowserLite.cxx:1010
 TRootBrowserLite.cxx:1011
 TRootBrowserLite.cxx:1012
 TRootBrowserLite.cxx:1013
 TRootBrowserLite.cxx:1014
 TRootBrowserLite.cxx:1015
 TRootBrowserLite.cxx:1016
 TRootBrowserLite.cxx:1017
 TRootBrowserLite.cxx:1018
 TRootBrowserLite.cxx:1019
 TRootBrowserLite.cxx:1020
 TRootBrowserLite.cxx:1021
 TRootBrowserLite.cxx:1022
 TRootBrowserLite.cxx:1023
 TRootBrowserLite.cxx:1024
 TRootBrowserLite.cxx:1025
 TRootBrowserLite.cxx:1026
 TRootBrowserLite.cxx:1027
 TRootBrowserLite.cxx:1028
 TRootBrowserLite.cxx:1029
 TRootBrowserLite.cxx:1030
 TRootBrowserLite.cxx:1031
 TRootBrowserLite.cxx:1032
 TRootBrowserLite.cxx:1033
 TRootBrowserLite.cxx:1034
 TRootBrowserLite.cxx:1035
 TRootBrowserLite.cxx:1036
 TRootBrowserLite.cxx:1037
 TRootBrowserLite.cxx:1038
 TRootBrowserLite.cxx:1039
 TRootBrowserLite.cxx:1040
 TRootBrowserLite.cxx:1041
 TRootBrowserLite.cxx:1042
 TRootBrowserLite.cxx:1043
 TRootBrowserLite.cxx:1044
 TRootBrowserLite.cxx:1045
 TRootBrowserLite.cxx:1046
 TRootBrowserLite.cxx:1047
 TRootBrowserLite.cxx:1048
 TRootBrowserLite.cxx:1049
 TRootBrowserLite.cxx:1050
 TRootBrowserLite.cxx:1051
 TRootBrowserLite.cxx:1052
 TRootBrowserLite.cxx:1053
 TRootBrowserLite.cxx:1054
 TRootBrowserLite.cxx:1055
 TRootBrowserLite.cxx:1056
 TRootBrowserLite.cxx:1057
 TRootBrowserLite.cxx:1058
 TRootBrowserLite.cxx:1059
 TRootBrowserLite.cxx:1060
 TRootBrowserLite.cxx:1061
 TRootBrowserLite.cxx:1062
 TRootBrowserLite.cxx:1063
 TRootBrowserLite.cxx:1064
 TRootBrowserLite.cxx:1065
 TRootBrowserLite.cxx:1066
 TRootBrowserLite.cxx:1067
 TRootBrowserLite.cxx:1068
 TRootBrowserLite.cxx:1069
 TRootBrowserLite.cxx:1070
 TRootBrowserLite.cxx:1071
 TRootBrowserLite.cxx:1072
 TRootBrowserLite.cxx:1073
 TRootBrowserLite.cxx:1074
 TRootBrowserLite.cxx:1075
 TRootBrowserLite.cxx:1076
 TRootBrowserLite.cxx:1077
 TRootBrowserLite.cxx:1078
 TRootBrowserLite.cxx:1079
 TRootBrowserLite.cxx:1080
 TRootBrowserLite.cxx:1081
 TRootBrowserLite.cxx:1082
 TRootBrowserLite.cxx:1083
 TRootBrowserLite.cxx:1084
 TRootBrowserLite.cxx:1085
 TRootBrowserLite.cxx:1086
 TRootBrowserLite.cxx:1087
 TRootBrowserLite.cxx:1088
 TRootBrowserLite.cxx:1089
 TRootBrowserLite.cxx:1090
 TRootBrowserLite.cxx:1091
 TRootBrowserLite.cxx:1092
 TRootBrowserLite.cxx:1093
 TRootBrowserLite.cxx:1094
 TRootBrowserLite.cxx:1095
 TRootBrowserLite.cxx:1096
 TRootBrowserLite.cxx:1097
 TRootBrowserLite.cxx:1098
 TRootBrowserLite.cxx:1099
 TRootBrowserLite.cxx:1100
 TRootBrowserLite.cxx:1101
 TRootBrowserLite.cxx:1102
 TRootBrowserLite.cxx:1103
 TRootBrowserLite.cxx:1104
 TRootBrowserLite.cxx:1105
 TRootBrowserLite.cxx:1106
 TRootBrowserLite.cxx:1107
 TRootBrowserLite.cxx:1108
 TRootBrowserLite.cxx:1109
 TRootBrowserLite.cxx:1110
 TRootBrowserLite.cxx:1111
 TRootBrowserLite.cxx:1112
 TRootBrowserLite.cxx:1113
 TRootBrowserLite.cxx:1114
 TRootBrowserLite.cxx:1115
 TRootBrowserLite.cxx:1116
 TRootBrowserLite.cxx:1117
 TRootBrowserLite.cxx:1118
 TRootBrowserLite.cxx:1119
 TRootBrowserLite.cxx:1120
 TRootBrowserLite.cxx:1121
 TRootBrowserLite.cxx:1122
 TRootBrowserLite.cxx:1123
 TRootBrowserLite.cxx:1124
 TRootBrowserLite.cxx:1125
 TRootBrowserLite.cxx:1126
 TRootBrowserLite.cxx:1127
 TRootBrowserLite.cxx:1128
 TRootBrowserLite.cxx:1129
 TRootBrowserLite.cxx:1130
 TRootBrowserLite.cxx:1131
 TRootBrowserLite.cxx:1132
 TRootBrowserLite.cxx:1133
 TRootBrowserLite.cxx:1134
 TRootBrowserLite.cxx:1135
 TRootBrowserLite.cxx:1136
 TRootBrowserLite.cxx:1137
 TRootBrowserLite.cxx:1138
 TRootBrowserLite.cxx:1139
 TRootBrowserLite.cxx:1140
 TRootBrowserLite.cxx:1141
 TRootBrowserLite.cxx:1142
 TRootBrowserLite.cxx:1143
 TRootBrowserLite.cxx:1144
 TRootBrowserLite.cxx:1145
 TRootBrowserLite.cxx:1146
 TRootBrowserLite.cxx:1147
 TRootBrowserLite.cxx:1148
 TRootBrowserLite.cxx:1149
 TRootBrowserLite.cxx:1150
 TRootBrowserLite.cxx:1151
 TRootBrowserLite.cxx:1152
 TRootBrowserLite.cxx:1153
 TRootBrowserLite.cxx:1154
 TRootBrowserLite.cxx:1155
 TRootBrowserLite.cxx:1156
 TRootBrowserLite.cxx:1157
 TRootBrowserLite.cxx:1158
 TRootBrowserLite.cxx:1159
 TRootBrowserLite.cxx:1160
 TRootBrowserLite.cxx:1161
 TRootBrowserLite.cxx:1162
 TRootBrowserLite.cxx:1163
 TRootBrowserLite.cxx:1164
 TRootBrowserLite.cxx:1165
 TRootBrowserLite.cxx:1166
 TRootBrowserLite.cxx:1167
 TRootBrowserLite.cxx:1168
 TRootBrowserLite.cxx:1169
 TRootBrowserLite.cxx:1170
 TRootBrowserLite.cxx:1171
 TRootBrowserLite.cxx:1172
 TRootBrowserLite.cxx:1173
 TRootBrowserLite.cxx:1174
 TRootBrowserLite.cxx:1175
 TRootBrowserLite.cxx:1176
 TRootBrowserLite.cxx:1177
 TRootBrowserLite.cxx:1178
 TRootBrowserLite.cxx:1179
 TRootBrowserLite.cxx:1180
 TRootBrowserLite.cxx:1181
 TRootBrowserLite.cxx:1182
 TRootBrowserLite.cxx:1183
 TRootBrowserLite.cxx:1184
 TRootBrowserLite.cxx:1185
 TRootBrowserLite.cxx:1186
 TRootBrowserLite.cxx:1187
 TRootBrowserLite.cxx:1188
 TRootBrowserLite.cxx:1189
 TRootBrowserLite.cxx:1190
 TRootBrowserLite.cxx:1191
 TRootBrowserLite.cxx:1192
 TRootBrowserLite.cxx:1193
 TRootBrowserLite.cxx:1194
 TRootBrowserLite.cxx:1195
 TRootBrowserLite.cxx:1196
 TRootBrowserLite.cxx:1197
 TRootBrowserLite.cxx:1198
 TRootBrowserLite.cxx:1199
 TRootBrowserLite.cxx:1200
 TRootBrowserLite.cxx:1201
 TRootBrowserLite.cxx:1202
 TRootBrowserLite.cxx:1203
 TRootBrowserLite.cxx:1204
 TRootBrowserLite.cxx:1205
 TRootBrowserLite.cxx:1206
 TRootBrowserLite.cxx:1207
 TRootBrowserLite.cxx:1208
 TRootBrowserLite.cxx:1209
 TRootBrowserLite.cxx:1210
 TRootBrowserLite.cxx:1211
 TRootBrowserLite.cxx:1212
 TRootBrowserLite.cxx:1213
 TRootBrowserLite.cxx:1214
 TRootBrowserLite.cxx:1215
 TRootBrowserLite.cxx:1216
 TRootBrowserLite.cxx:1217
 TRootBrowserLite.cxx:1218
 TRootBrowserLite.cxx:1219
 TRootBrowserLite.cxx:1220
 TRootBrowserLite.cxx:1221
 TRootBrowserLite.cxx:1222
 TRootBrowserLite.cxx:1223
 TRootBrowserLite.cxx:1224
 TRootBrowserLite.cxx:1225
 TRootBrowserLite.cxx:1226
 TRootBrowserLite.cxx:1227
 TRootBrowserLite.cxx:1228
 TRootBrowserLite.cxx:1229
 TRootBrowserLite.cxx:1230
 TRootBrowserLite.cxx:1231
 TRootBrowserLite.cxx:1232
 TRootBrowserLite.cxx:1233
 TRootBrowserLite.cxx:1234
 TRootBrowserLite.cxx:1235
 TRootBrowserLite.cxx:1236
 TRootBrowserLite.cxx:1237
 TRootBrowserLite.cxx:1238
 TRootBrowserLite.cxx:1239
 TRootBrowserLite.cxx:1240
 TRootBrowserLite.cxx:1241
 TRootBrowserLite.cxx:1242
 TRootBrowserLite.cxx:1243
 TRootBrowserLite.cxx:1244
 TRootBrowserLite.cxx:1245
 TRootBrowserLite.cxx:1246
 TRootBrowserLite.cxx:1247
 TRootBrowserLite.cxx:1248
 TRootBrowserLite.cxx:1249
 TRootBrowserLite.cxx:1250
 TRootBrowserLite.cxx:1251
 TRootBrowserLite.cxx:1252
 TRootBrowserLite.cxx:1253
 TRootBrowserLite.cxx:1254
 TRootBrowserLite.cxx:1255
 TRootBrowserLite.cxx:1256
 TRootBrowserLite.cxx:1257
 TRootBrowserLite.cxx:1258
 TRootBrowserLite.cxx:1259
 TRootBrowserLite.cxx:1260
 TRootBrowserLite.cxx:1261
 TRootBrowserLite.cxx:1262
 TRootBrowserLite.cxx:1263
 TRootBrowserLite.cxx:1264
 TRootBrowserLite.cxx:1265
 TRootBrowserLite.cxx:1266
 TRootBrowserLite.cxx:1267
 TRootBrowserLite.cxx:1268
 TRootBrowserLite.cxx:1269
 TRootBrowserLite.cxx:1270
 TRootBrowserLite.cxx:1271
 TRootBrowserLite.cxx:1272
 TRootBrowserLite.cxx:1273
 TRootBrowserLite.cxx:1274
 TRootBrowserLite.cxx:1275
 TRootBrowserLite.cxx:1276
 TRootBrowserLite.cxx:1277
 TRootBrowserLite.cxx:1278
 TRootBrowserLite.cxx:1279
 TRootBrowserLite.cxx:1280
 TRootBrowserLite.cxx:1281
 TRootBrowserLite.cxx:1282
 TRootBrowserLite.cxx:1283
 TRootBrowserLite.cxx:1284
 TRootBrowserLite.cxx:1285
 TRootBrowserLite.cxx:1286
 TRootBrowserLite.cxx:1287
 TRootBrowserLite.cxx:1288
 TRootBrowserLite.cxx:1289
 TRootBrowserLite.cxx:1290
 TRootBrowserLite.cxx:1291
 TRootBrowserLite.cxx:1292
 TRootBrowserLite.cxx:1293
 TRootBrowserLite.cxx:1294
 TRootBrowserLite.cxx:1295
 TRootBrowserLite.cxx:1296
 TRootBrowserLite.cxx:1297
 TRootBrowserLite.cxx:1298
 TRootBrowserLite.cxx:1299
 TRootBrowserLite.cxx:1300
 TRootBrowserLite.cxx:1301
 TRootBrowserLite.cxx:1302
 TRootBrowserLite.cxx:1303
 TRootBrowserLite.cxx:1304
 TRootBrowserLite.cxx:1305
 TRootBrowserLite.cxx:1306
 TRootBrowserLite.cxx:1307
 TRootBrowserLite.cxx:1308
 TRootBrowserLite.cxx:1309
 TRootBrowserLite.cxx:1310
 TRootBrowserLite.cxx:1311
 TRootBrowserLite.cxx:1312
 TRootBrowserLite.cxx:1313
 TRootBrowserLite.cxx:1314
 TRootBrowserLite.cxx:1315
 TRootBrowserLite.cxx:1316
 TRootBrowserLite.cxx:1317
 TRootBrowserLite.cxx:1318
 TRootBrowserLite.cxx:1319
 TRootBrowserLite.cxx:1320
 TRootBrowserLite.cxx:1321
 TRootBrowserLite.cxx:1322
 TRootBrowserLite.cxx:1323
 TRootBrowserLite.cxx:1324
 TRootBrowserLite.cxx:1325
 TRootBrowserLite.cxx:1326
 TRootBrowserLite.cxx:1327
 TRootBrowserLite.cxx:1328
 TRootBrowserLite.cxx:1329
 TRootBrowserLite.cxx:1330
 TRootBrowserLite.cxx:1331
 TRootBrowserLite.cxx:1332
 TRootBrowserLite.cxx:1333
 TRootBrowserLite.cxx:1334
 TRootBrowserLite.cxx:1335
 TRootBrowserLite.cxx:1336
 TRootBrowserLite.cxx:1337
 TRootBrowserLite.cxx:1338
 TRootBrowserLite.cxx:1339
 TRootBrowserLite.cxx:1340
 TRootBrowserLite.cxx:1341
 TRootBrowserLite.cxx:1342
 TRootBrowserLite.cxx:1343
 TRootBrowserLite.cxx:1344
 TRootBrowserLite.cxx:1345
 TRootBrowserLite.cxx:1346
 TRootBrowserLite.cxx:1347
 TRootBrowserLite.cxx:1348
 TRootBrowserLite.cxx:1349
 TRootBrowserLite.cxx:1350
 TRootBrowserLite.cxx:1351
 TRootBrowserLite.cxx:1352
 TRootBrowserLite.cxx:1353
 TRootBrowserLite.cxx:1354
 TRootBrowserLite.cxx:1355
 TRootBrowserLite.cxx:1356
 TRootBrowserLite.cxx:1357
 TRootBrowserLite.cxx:1358
 TRootBrowserLite.cxx:1359
 TRootBrowserLite.cxx:1360
 TRootBrowserLite.cxx:1361
 TRootBrowserLite.cxx:1362
 TRootBrowserLite.cxx:1363
 TRootBrowserLite.cxx:1364
 TRootBrowserLite.cxx:1365
 TRootBrowserLite.cxx:1366
 TRootBrowserLite.cxx:1367
 TRootBrowserLite.cxx:1368
 TRootBrowserLite.cxx:1369
 TRootBrowserLite.cxx:1370
 TRootBrowserLite.cxx:1371
 TRootBrowserLite.cxx:1372
 TRootBrowserLite.cxx:1373
 TRootBrowserLite.cxx:1374
 TRootBrowserLite.cxx:1375
 TRootBrowserLite.cxx:1376
 TRootBrowserLite.cxx:1377
 TRootBrowserLite.cxx:1378
 TRootBrowserLite.cxx:1379
 TRootBrowserLite.cxx:1380
 TRootBrowserLite.cxx:1381
 TRootBrowserLite.cxx:1382
 TRootBrowserLite.cxx:1383
 TRootBrowserLite.cxx:1384
 TRootBrowserLite.cxx:1385
 TRootBrowserLite.cxx:1386
 TRootBrowserLite.cxx:1387
 TRootBrowserLite.cxx:1388
 TRootBrowserLite.cxx:1389
 TRootBrowserLite.cxx:1390
 TRootBrowserLite.cxx:1391
 TRootBrowserLite.cxx:1392
 TRootBrowserLite.cxx:1393
 TRootBrowserLite.cxx:1394
 TRootBrowserLite.cxx:1395
 TRootBrowserLite.cxx:1396
 TRootBrowserLite.cxx:1397
 TRootBrowserLite.cxx:1398
 TRootBrowserLite.cxx:1399
 TRootBrowserLite.cxx:1400
 TRootBrowserLite.cxx:1401
 TRootBrowserLite.cxx:1402
 TRootBrowserLite.cxx:1403
 TRootBrowserLite.cxx:1404
 TRootBrowserLite.cxx:1405
 TRootBrowserLite.cxx:1406
 TRootBrowserLite.cxx:1407
 TRootBrowserLite.cxx:1408
 TRootBrowserLite.cxx:1409
 TRootBrowserLite.cxx:1410
 TRootBrowserLite.cxx:1411
 TRootBrowserLite.cxx:1412
 TRootBrowserLite.cxx:1413
 TRootBrowserLite.cxx:1414
 TRootBrowserLite.cxx:1415
 TRootBrowserLite.cxx:1416
 TRootBrowserLite.cxx:1417
 TRootBrowserLite.cxx:1418
 TRootBrowserLite.cxx:1419
 TRootBrowserLite.cxx:1420
 TRootBrowserLite.cxx:1421
 TRootBrowserLite.cxx:1422
 TRootBrowserLite.cxx:1423
 TRootBrowserLite.cxx:1424
 TRootBrowserLite.cxx:1425
 TRootBrowserLite.cxx:1426
 TRootBrowserLite.cxx:1427
 TRootBrowserLite.cxx:1428
 TRootBrowserLite.cxx:1429
 TRootBrowserLite.cxx:1430
 TRootBrowserLite.cxx:1431
 TRootBrowserLite.cxx:1432
 TRootBrowserLite.cxx:1433
 TRootBrowserLite.cxx:1434
 TRootBrowserLite.cxx:1435
 TRootBrowserLite.cxx:1436
 TRootBrowserLite.cxx:1437
 TRootBrowserLite.cxx:1438
 TRootBrowserLite.cxx:1439
 TRootBrowserLite.cxx:1440
 TRootBrowserLite.cxx:1441
 TRootBrowserLite.cxx:1442
 TRootBrowserLite.cxx:1443
 TRootBrowserLite.cxx:1444
 TRootBrowserLite.cxx:1445
 TRootBrowserLite.cxx:1446
 TRootBrowserLite.cxx:1447
 TRootBrowserLite.cxx:1448
 TRootBrowserLite.cxx:1449
 TRootBrowserLite.cxx:1450
 TRootBrowserLite.cxx:1451
 TRootBrowserLite.cxx:1452
 TRootBrowserLite.cxx:1453
 TRootBrowserLite.cxx:1454
 TRootBrowserLite.cxx:1455
 TRootBrowserLite.cxx:1456
 TRootBrowserLite.cxx:1457
 TRootBrowserLite.cxx:1458
 TRootBrowserLite.cxx:1459
 TRootBrowserLite.cxx:1460
 TRootBrowserLite.cxx:1461
 TRootBrowserLite.cxx:1462
 TRootBrowserLite.cxx:1463
 TRootBrowserLite.cxx:1464
 TRootBrowserLite.cxx:1465
 TRootBrowserLite.cxx:1466
 TRootBrowserLite.cxx:1467
 TRootBrowserLite.cxx:1468
 TRootBrowserLite.cxx:1469
 TRootBrowserLite.cxx:1470
 TRootBrowserLite.cxx:1471
 TRootBrowserLite.cxx:1472
 TRootBrowserLite.cxx:1473
 TRootBrowserLite.cxx:1474
 TRootBrowserLite.cxx:1475
 TRootBrowserLite.cxx:1476
 TRootBrowserLite.cxx:1477
 TRootBrowserLite.cxx:1478
 TRootBrowserLite.cxx:1479
 TRootBrowserLite.cxx:1480
 TRootBrowserLite.cxx:1481
 TRootBrowserLite.cxx:1482
 TRootBrowserLite.cxx:1483
 TRootBrowserLite.cxx:1484
 TRootBrowserLite.cxx:1485
 TRootBrowserLite.cxx:1486
 TRootBrowserLite.cxx:1487
 TRootBrowserLite.cxx:1488
 TRootBrowserLite.cxx:1489
 TRootBrowserLite.cxx:1490
 TRootBrowserLite.cxx:1491
 TRootBrowserLite.cxx:1492
 TRootBrowserLite.cxx:1493
 TRootBrowserLite.cxx:1494
 TRootBrowserLite.cxx:1495
 TRootBrowserLite.cxx:1496
 TRootBrowserLite.cxx:1497
 TRootBrowserLite.cxx:1498
 TRootBrowserLite.cxx:1499
 TRootBrowserLite.cxx:1500
 TRootBrowserLite.cxx:1501
 TRootBrowserLite.cxx:1502
 TRootBrowserLite.cxx:1503
 TRootBrowserLite.cxx:1504
 TRootBrowserLite.cxx:1505
 TRootBrowserLite.cxx:1506
 TRootBrowserLite.cxx:1507
 TRootBrowserLite.cxx:1508
 TRootBrowserLite.cxx:1509
 TRootBrowserLite.cxx:1510
 TRootBrowserLite.cxx:1511
 TRootBrowserLite.cxx:1512
 TRootBrowserLite.cxx:1513
 TRootBrowserLite.cxx:1514
 TRootBrowserLite.cxx:1515
 TRootBrowserLite.cxx:1516
 TRootBrowserLite.cxx:1517
 TRootBrowserLite.cxx:1518
 TRootBrowserLite.cxx:1519
 TRootBrowserLite.cxx:1520
 TRootBrowserLite.cxx:1521
 TRootBrowserLite.cxx:1522
 TRootBrowserLite.cxx:1523
 TRootBrowserLite.cxx:1524
 TRootBrowserLite.cxx:1525
 TRootBrowserLite.cxx:1526
 TRootBrowserLite.cxx:1527
 TRootBrowserLite.cxx:1528
 TRootBrowserLite.cxx:1529
 TRootBrowserLite.cxx:1530
 TRootBrowserLite.cxx:1531
 TRootBrowserLite.cxx:1532
 TRootBrowserLite.cxx:1533
 TRootBrowserLite.cxx:1534
 TRootBrowserLite.cxx:1535
 TRootBrowserLite.cxx:1536
 TRootBrowserLite.cxx:1537
 TRootBrowserLite.cxx:1538
 TRootBrowserLite.cxx:1539
 TRootBrowserLite.cxx:1540
 TRootBrowserLite.cxx:1541
 TRootBrowserLite.cxx:1542
 TRootBrowserLite.cxx:1543
 TRootBrowserLite.cxx:1544
 TRootBrowserLite.cxx:1545
 TRootBrowserLite.cxx:1546
 TRootBrowserLite.cxx:1547
 TRootBrowserLite.cxx:1548
 TRootBrowserLite.cxx:1549
 TRootBrowserLite.cxx:1550
 TRootBrowserLite.cxx:1551
 TRootBrowserLite.cxx:1552
 TRootBrowserLite.cxx:1553
 TRootBrowserLite.cxx:1554
 TRootBrowserLite.cxx:1555
 TRootBrowserLite.cxx:1556
 TRootBrowserLite.cxx:1557
 TRootBrowserLite.cxx:1558
 TRootBrowserLite.cxx:1559
 TRootBrowserLite.cxx:1560
 TRootBrowserLite.cxx:1561
 TRootBrowserLite.cxx:1562
 TRootBrowserLite.cxx:1563
 TRootBrowserLite.cxx:1564
 TRootBrowserLite.cxx:1565
 TRootBrowserLite.cxx:1566
 TRootBrowserLite.cxx:1567
 TRootBrowserLite.cxx:1568
 TRootBrowserLite.cxx:1569
 TRootBrowserLite.cxx:1570
 TRootBrowserLite.cxx:1571
 TRootBrowserLite.cxx:1572
 TRootBrowserLite.cxx:1573
 TRootBrowserLite.cxx:1574
 TRootBrowserLite.cxx:1575
 TRootBrowserLite.cxx:1576
 TRootBrowserLite.cxx:1577
 TRootBrowserLite.cxx:1578
 TRootBrowserLite.cxx:1579
 TRootBrowserLite.cxx:1580
 TRootBrowserLite.cxx:1581
 TRootBrowserLite.cxx:1582
 TRootBrowserLite.cxx:1583
 TRootBrowserLite.cxx:1584
 TRootBrowserLite.cxx:1585
 TRootBrowserLite.cxx:1586
 TRootBrowserLite.cxx:1587
 TRootBrowserLite.cxx:1588
 TRootBrowserLite.cxx:1589
 TRootBrowserLite.cxx:1590
 TRootBrowserLite.cxx:1591
 TRootBrowserLite.cxx:1592
 TRootBrowserLite.cxx:1593
 TRootBrowserLite.cxx:1594
 TRootBrowserLite.cxx:1595
 TRootBrowserLite.cxx:1596
 TRootBrowserLite.cxx:1597
 TRootBrowserLite.cxx:1598
 TRootBrowserLite.cxx:1599
 TRootBrowserLite.cxx:1600
 TRootBrowserLite.cxx:1601
 TRootBrowserLite.cxx:1602
 TRootBrowserLite.cxx:1603
 TRootBrowserLite.cxx:1604
 TRootBrowserLite.cxx:1605
 TRootBrowserLite.cxx:1606
 TRootBrowserLite.cxx:1607
 TRootBrowserLite.cxx:1608
 TRootBrowserLite.cxx:1609
 TRootBrowserLite.cxx:1610
 TRootBrowserLite.cxx:1611
 TRootBrowserLite.cxx:1612
 TRootBrowserLite.cxx:1613
 TRootBrowserLite.cxx:1614
 TRootBrowserLite.cxx:1615
 TRootBrowserLite.cxx:1616
 TRootBrowserLite.cxx:1617
 TRootBrowserLite.cxx:1618
 TRootBrowserLite.cxx:1619
 TRootBrowserLite.cxx:1620
 TRootBrowserLite.cxx:1621
 TRootBrowserLite.cxx:1622
 TRootBrowserLite.cxx:1623
 TRootBrowserLite.cxx:1624
 TRootBrowserLite.cxx:1625
 TRootBrowserLite.cxx:1626
 TRootBrowserLite.cxx:1627
 TRootBrowserLite.cxx:1628
 TRootBrowserLite.cxx:1629
 TRootBrowserLite.cxx:1630
 TRootBrowserLite.cxx:1631
 TRootBrowserLite.cxx:1632
 TRootBrowserLite.cxx:1633
 TRootBrowserLite.cxx:1634
 TRootBrowserLite.cxx:1635
 TRootBrowserLite.cxx:1636
 TRootBrowserLite.cxx:1637
 TRootBrowserLite.cxx:1638
 TRootBrowserLite.cxx:1639
 TRootBrowserLite.cxx:1640
 TRootBrowserLite.cxx:1641
 TRootBrowserLite.cxx:1642
 TRootBrowserLite.cxx:1643
 TRootBrowserLite.cxx:1644
 TRootBrowserLite.cxx:1645
 TRootBrowserLite.cxx:1646
 TRootBrowserLite.cxx:1647
 TRootBrowserLite.cxx:1648
 TRootBrowserLite.cxx:1649
 TRootBrowserLite.cxx:1650
 TRootBrowserLite.cxx:1651
 TRootBrowserLite.cxx:1652
 TRootBrowserLite.cxx:1653
 TRootBrowserLite.cxx:1654
 TRootBrowserLite.cxx:1655
 TRootBrowserLite.cxx:1656
 TRootBrowserLite.cxx:1657
 TRootBrowserLite.cxx:1658
 TRootBrowserLite.cxx:1659
 TRootBrowserLite.cxx:1660
 TRootBrowserLite.cxx:1661
 TRootBrowserLite.cxx:1662
 TRootBrowserLite.cxx:1663
 TRootBrowserLite.cxx:1664
 TRootBrowserLite.cxx:1665
 TRootBrowserLite.cxx:1666
 TRootBrowserLite.cxx:1667
 TRootBrowserLite.cxx:1668
 TRootBrowserLite.cxx:1669
 TRootBrowserLite.cxx:1670
 TRootBrowserLite.cxx:1671
 TRootBrowserLite.cxx:1672
 TRootBrowserLite.cxx:1673
 TRootBrowserLite.cxx:1674
 TRootBrowserLite.cxx:1675
 TRootBrowserLite.cxx:1676
 TRootBrowserLite.cxx:1677
 TRootBrowserLite.cxx:1678
 TRootBrowserLite.cxx:1679
 TRootBrowserLite.cxx:1680
 TRootBrowserLite.cxx:1681
 TRootBrowserLite.cxx:1682
 TRootBrowserLite.cxx:1683
 TRootBrowserLite.cxx:1684
 TRootBrowserLite.cxx:1685
 TRootBrowserLite.cxx:1686
 TRootBrowserLite.cxx:1687
 TRootBrowserLite.cxx:1688
 TRootBrowserLite.cxx:1689
 TRootBrowserLite.cxx:1690
 TRootBrowserLite.cxx:1691
 TRootBrowserLite.cxx:1692
 TRootBrowserLite.cxx:1693
 TRootBrowserLite.cxx:1694
 TRootBrowserLite.cxx:1695
 TRootBrowserLite.cxx:1696
 TRootBrowserLite.cxx:1697
 TRootBrowserLite.cxx:1698
 TRootBrowserLite.cxx:1699
 TRootBrowserLite.cxx:1700
 TRootBrowserLite.cxx:1701
 TRootBrowserLite.cxx:1702
 TRootBrowserLite.cxx:1703
 TRootBrowserLite.cxx:1704
 TRootBrowserLite.cxx:1705
 TRootBrowserLite.cxx:1706
 TRootBrowserLite.cxx:1707
 TRootBrowserLite.cxx:1708
 TRootBrowserLite.cxx:1709
 TRootBrowserLite.cxx:1710
 TRootBrowserLite.cxx:1711
 TRootBrowserLite.cxx:1712
 TRootBrowserLite.cxx:1713
 TRootBrowserLite.cxx:1714
 TRootBrowserLite.cxx:1715
 TRootBrowserLite.cxx:1716
 TRootBrowserLite.cxx:1717
 TRootBrowserLite.cxx:1718
 TRootBrowserLite.cxx:1719
 TRootBrowserLite.cxx:1720
 TRootBrowserLite.cxx:1721
 TRootBrowserLite.cxx:1722
 TRootBrowserLite.cxx:1723
 TRootBrowserLite.cxx:1724
 TRootBrowserLite.cxx:1725
 TRootBrowserLite.cxx:1726
 TRootBrowserLite.cxx:1727
 TRootBrowserLite.cxx:1728
 TRootBrowserLite.cxx:1729
 TRootBrowserLite.cxx:1730
 TRootBrowserLite.cxx:1731
 TRootBrowserLite.cxx:1732
 TRootBrowserLite.cxx:1733
 TRootBrowserLite.cxx:1734
 TRootBrowserLite.cxx:1735
 TRootBrowserLite.cxx:1736
 TRootBrowserLite.cxx:1737
 TRootBrowserLite.cxx:1738
 TRootBrowserLite.cxx:1739
 TRootBrowserLite.cxx:1740
 TRootBrowserLite.cxx:1741
 TRootBrowserLite.cxx:1742
 TRootBrowserLite.cxx:1743
 TRootBrowserLite.cxx:1744
 TRootBrowserLite.cxx:1745
 TRootBrowserLite.cxx:1746
 TRootBrowserLite.cxx:1747
 TRootBrowserLite.cxx:1748
 TRootBrowserLite.cxx:1749
 TRootBrowserLite.cxx:1750
 TRootBrowserLite.cxx:1751
 TRootBrowserLite.cxx:1752
 TRootBrowserLite.cxx:1753
 TRootBrowserLite.cxx:1754
 TRootBrowserLite.cxx:1755
 TRootBrowserLite.cxx:1756
 TRootBrowserLite.cxx:1757
 TRootBrowserLite.cxx:1758
 TRootBrowserLite.cxx:1759
 TRootBrowserLite.cxx:1760
 TRootBrowserLite.cxx:1761
 TRootBrowserLite.cxx:1762
 TRootBrowserLite.cxx:1763
 TRootBrowserLite.cxx:1764
 TRootBrowserLite.cxx:1765
 TRootBrowserLite.cxx:1766
 TRootBrowserLite.cxx:1767
 TRootBrowserLite.cxx:1768
 TRootBrowserLite.cxx:1769
 TRootBrowserLite.cxx:1770
 TRootBrowserLite.cxx:1771
 TRootBrowserLite.cxx:1772
 TRootBrowserLite.cxx:1773
 TRootBrowserLite.cxx:1774
 TRootBrowserLite.cxx:1775
 TRootBrowserLite.cxx:1776
 TRootBrowserLite.cxx:1777
 TRootBrowserLite.cxx:1778
 TRootBrowserLite.cxx:1779
 TRootBrowserLite.cxx:1780
 TRootBrowserLite.cxx:1781
 TRootBrowserLite.cxx:1782
 TRootBrowserLite.cxx:1783
 TRootBrowserLite.cxx:1784
 TRootBrowserLite.cxx:1785
 TRootBrowserLite.cxx:1786
 TRootBrowserLite.cxx:1787
 TRootBrowserLite.cxx:1788
 TRootBrowserLite.cxx:1789
 TRootBrowserLite.cxx:1790
 TRootBrowserLite.cxx:1791
 TRootBrowserLite.cxx:1792
 TRootBrowserLite.cxx:1793
 TRootBrowserLite.cxx:1794
 TRootBrowserLite.cxx:1795
 TRootBrowserLite.cxx:1796
 TRootBrowserLite.cxx:1797
 TRootBrowserLite.cxx:1798
 TRootBrowserLite.cxx:1799
 TRootBrowserLite.cxx:1800
 TRootBrowserLite.cxx:1801
 TRootBrowserLite.cxx:1802
 TRootBrowserLite.cxx:1803
 TRootBrowserLite.cxx:1804
 TRootBrowserLite.cxx:1805
 TRootBrowserLite.cxx:1806
 TRootBrowserLite.cxx:1807
 TRootBrowserLite.cxx:1808
 TRootBrowserLite.cxx:1809
 TRootBrowserLite.cxx:1810
 TRootBrowserLite.cxx:1811
 TRootBrowserLite.cxx:1812
 TRootBrowserLite.cxx:1813
 TRootBrowserLite.cxx:1814
 TRootBrowserLite.cxx:1815
 TRootBrowserLite.cxx:1816
 TRootBrowserLite.cxx:1817
 TRootBrowserLite.cxx:1818
 TRootBrowserLite.cxx:1819
 TRootBrowserLite.cxx:1820
 TRootBrowserLite.cxx:1821
 TRootBrowserLite.cxx:1822
 TRootBrowserLite.cxx:1823
 TRootBrowserLite.cxx:1824
 TRootBrowserLite.cxx:1825
 TRootBrowserLite.cxx:1826
 TRootBrowserLite.cxx:1827
 TRootBrowserLite.cxx:1828
 TRootBrowserLite.cxx:1829
 TRootBrowserLite.cxx:1830
 TRootBrowserLite.cxx:1831
 TRootBrowserLite.cxx:1832
 TRootBrowserLite.cxx:1833
 TRootBrowserLite.cxx:1834
 TRootBrowserLite.cxx:1835
 TRootBrowserLite.cxx:1836
 TRootBrowserLite.cxx:1837
 TRootBrowserLite.cxx:1838
 TRootBrowserLite.cxx:1839
 TRootBrowserLite.cxx:1840
 TRootBrowserLite.cxx:1841
 TRootBrowserLite.cxx:1842
 TRootBrowserLite.cxx:1843
 TRootBrowserLite.cxx:1844
 TRootBrowserLite.cxx:1845
 TRootBrowserLite.cxx:1846
 TRootBrowserLite.cxx:1847
 TRootBrowserLite.cxx:1848
 TRootBrowserLite.cxx:1849
 TRootBrowserLite.cxx:1850
 TRootBrowserLite.cxx:1851
 TRootBrowserLite.cxx:1852
 TRootBrowserLite.cxx:1853
 TRootBrowserLite.cxx:1854
 TRootBrowserLite.cxx:1855
 TRootBrowserLite.cxx:1856
 TRootBrowserLite.cxx:1857
 TRootBrowserLite.cxx:1858
 TRootBrowserLite.cxx:1859
 TRootBrowserLite.cxx:1860
 TRootBrowserLite.cxx:1861
 TRootBrowserLite.cxx:1862
 TRootBrowserLite.cxx:1863
 TRootBrowserLite.cxx:1864
 TRootBrowserLite.cxx:1865
 TRootBrowserLite.cxx:1866
 TRootBrowserLite.cxx:1867
 TRootBrowserLite.cxx:1868
 TRootBrowserLite.cxx:1869
 TRootBrowserLite.cxx:1870
 TRootBrowserLite.cxx:1871
 TRootBrowserLite.cxx:1872
 TRootBrowserLite.cxx:1873
 TRootBrowserLite.cxx:1874
 TRootBrowserLite.cxx:1875
 TRootBrowserLite.cxx:1876
 TRootBrowserLite.cxx:1877
 TRootBrowserLite.cxx:1878
 TRootBrowserLite.cxx:1879
 TRootBrowserLite.cxx:1880
 TRootBrowserLite.cxx:1881
 TRootBrowserLite.cxx:1882
 TRootBrowserLite.cxx:1883
 TRootBrowserLite.cxx:1884
 TRootBrowserLite.cxx:1885
 TRootBrowserLite.cxx:1886
 TRootBrowserLite.cxx:1887
 TRootBrowserLite.cxx:1888
 TRootBrowserLite.cxx:1889
 TRootBrowserLite.cxx:1890
 TRootBrowserLite.cxx:1891
 TRootBrowserLite.cxx:1892
 TRootBrowserLite.cxx:1893
 TRootBrowserLite.cxx:1894
 TRootBrowserLite.cxx:1895
 TRootBrowserLite.cxx:1896
 TRootBrowserLite.cxx:1897
 TRootBrowserLite.cxx:1898
 TRootBrowserLite.cxx:1899
 TRootBrowserLite.cxx:1900
 TRootBrowserLite.cxx:1901
 TRootBrowserLite.cxx:1902
 TRootBrowserLite.cxx:1903
 TRootBrowserLite.cxx:1904
 TRootBrowserLite.cxx:1905
 TRootBrowserLite.cxx:1906
 TRootBrowserLite.cxx:1907
 TRootBrowserLite.cxx:1908
 TRootBrowserLite.cxx:1909
 TRootBrowserLite.cxx:1910
 TRootBrowserLite.cxx:1911
 TRootBrowserLite.cxx:1912
 TRootBrowserLite.cxx:1913
 TRootBrowserLite.cxx:1914
 TRootBrowserLite.cxx:1915
 TRootBrowserLite.cxx:1916
 TRootBrowserLite.cxx:1917
 TRootBrowserLite.cxx:1918
 TRootBrowserLite.cxx:1919
 TRootBrowserLite.cxx:1920
 TRootBrowserLite.cxx:1921
 TRootBrowserLite.cxx:1922
 TRootBrowserLite.cxx:1923
 TRootBrowserLite.cxx:1924
 TRootBrowserLite.cxx:1925
 TRootBrowserLite.cxx:1926
 TRootBrowserLite.cxx:1927
 TRootBrowserLite.cxx:1928
 TRootBrowserLite.cxx:1929
 TRootBrowserLite.cxx:1930
 TRootBrowserLite.cxx:1931
 TRootBrowserLite.cxx:1932
 TRootBrowserLite.cxx:1933
 TRootBrowserLite.cxx:1934
 TRootBrowserLite.cxx:1935
 TRootBrowserLite.cxx:1936
 TRootBrowserLite.cxx:1937
 TRootBrowserLite.cxx:1938
 TRootBrowserLite.cxx:1939
 TRootBrowserLite.cxx:1940
 TRootBrowserLite.cxx:1941
 TRootBrowserLite.cxx:1942
 TRootBrowserLite.cxx:1943
 TRootBrowserLite.cxx:1944
 TRootBrowserLite.cxx:1945
 TRootBrowserLite.cxx:1946
 TRootBrowserLite.cxx:1947
 TRootBrowserLite.cxx:1948
 TRootBrowserLite.cxx:1949
 TRootBrowserLite.cxx:1950
 TRootBrowserLite.cxx:1951
 TRootBrowserLite.cxx:1952
 TRootBrowserLite.cxx:1953
 TRootBrowserLite.cxx:1954
 TRootBrowserLite.cxx:1955
 TRootBrowserLite.cxx:1956
 TRootBrowserLite.cxx:1957
 TRootBrowserLite.cxx:1958
 TRootBrowserLite.cxx:1959
 TRootBrowserLite.cxx:1960
 TRootBrowserLite.cxx:1961
 TRootBrowserLite.cxx:1962
 TRootBrowserLite.cxx:1963
 TRootBrowserLite.cxx:1964
 TRootBrowserLite.cxx:1965
 TRootBrowserLite.cxx:1966
 TRootBrowserLite.cxx:1967
 TRootBrowserLite.cxx:1968
 TRootBrowserLite.cxx:1969
 TRootBrowserLite.cxx:1970
 TRootBrowserLite.cxx:1971
 TRootBrowserLite.cxx:1972
 TRootBrowserLite.cxx:1973
 TRootBrowserLite.cxx:1974
 TRootBrowserLite.cxx:1975
 TRootBrowserLite.cxx:1976
 TRootBrowserLite.cxx:1977
 TRootBrowserLite.cxx:1978
 TRootBrowserLite.cxx:1979
 TRootBrowserLite.cxx:1980
 TRootBrowserLite.cxx:1981
 TRootBrowserLite.cxx:1982
 TRootBrowserLite.cxx:1983
 TRootBrowserLite.cxx:1984
 TRootBrowserLite.cxx:1985
 TRootBrowserLite.cxx:1986
 TRootBrowserLite.cxx:1987
 TRootBrowserLite.cxx:1988
 TRootBrowserLite.cxx:1989
 TRootBrowserLite.cxx:1990
 TRootBrowserLite.cxx:1991
 TRootBrowserLite.cxx:1992
 TRootBrowserLite.cxx:1993
 TRootBrowserLite.cxx:1994
 TRootBrowserLite.cxx:1995
 TRootBrowserLite.cxx:1996
 TRootBrowserLite.cxx:1997
 TRootBrowserLite.cxx:1998
 TRootBrowserLite.cxx:1999
 TRootBrowserLite.cxx:2000
 TRootBrowserLite.cxx:2001
 TRootBrowserLite.cxx:2002
 TRootBrowserLite.cxx:2003
 TRootBrowserLite.cxx:2004
 TRootBrowserLite.cxx:2005
 TRootBrowserLite.cxx:2006
 TRootBrowserLite.cxx:2007
 TRootBrowserLite.cxx:2008
 TRootBrowserLite.cxx:2009
 TRootBrowserLite.cxx:2010
 TRootBrowserLite.cxx:2011
 TRootBrowserLite.cxx:2012
 TRootBrowserLite.cxx:2013
 TRootBrowserLite.cxx:2014
 TRootBrowserLite.cxx:2015
 TRootBrowserLite.cxx:2016
 TRootBrowserLite.cxx:2017
 TRootBrowserLite.cxx:2018
 TRootBrowserLite.cxx:2019
 TRootBrowserLite.cxx:2020
 TRootBrowserLite.cxx:2021
 TRootBrowserLite.cxx:2022
 TRootBrowserLite.cxx:2023
 TRootBrowserLite.cxx:2024
 TRootBrowserLite.cxx:2025
 TRootBrowserLite.cxx:2026
 TRootBrowserLite.cxx:2027
 TRootBrowserLite.cxx:2028
 TRootBrowserLite.cxx:2029
 TRootBrowserLite.cxx:2030
 TRootBrowserLite.cxx:2031
 TRootBrowserLite.cxx:2032
 TRootBrowserLite.cxx:2033
 TRootBrowserLite.cxx:2034
 TRootBrowserLite.cxx:2035
 TRootBrowserLite.cxx:2036
 TRootBrowserLite.cxx:2037
 TRootBrowserLite.cxx:2038
 TRootBrowserLite.cxx:2039
 TRootBrowserLite.cxx:2040
 TRootBrowserLite.cxx:2041
 TRootBrowserLite.cxx:2042
 TRootBrowserLite.cxx:2043
 TRootBrowserLite.cxx:2044
 TRootBrowserLite.cxx:2045
 TRootBrowserLite.cxx:2046
 TRootBrowserLite.cxx:2047
 TRootBrowserLite.cxx:2048
 TRootBrowserLite.cxx:2049
 TRootBrowserLite.cxx:2050
 TRootBrowserLite.cxx:2051
 TRootBrowserLite.cxx:2052
 TRootBrowserLite.cxx:2053
 TRootBrowserLite.cxx:2054
 TRootBrowserLite.cxx:2055
 TRootBrowserLite.cxx:2056
 TRootBrowserLite.cxx:2057
 TRootBrowserLite.cxx:2058
 TRootBrowserLite.cxx:2059
 TRootBrowserLite.cxx:2060
 TRootBrowserLite.cxx:2061
 TRootBrowserLite.cxx:2062
 TRootBrowserLite.cxx:2063
 TRootBrowserLite.cxx:2064
 TRootBrowserLite.cxx:2065
 TRootBrowserLite.cxx:2066
 TRootBrowserLite.cxx:2067
 TRootBrowserLite.cxx:2068
 TRootBrowserLite.cxx:2069
 TRootBrowserLite.cxx:2070
 TRootBrowserLite.cxx:2071
 TRootBrowserLite.cxx:2072
 TRootBrowserLite.cxx:2073
 TRootBrowserLite.cxx:2074
 TRootBrowserLite.cxx:2075
 TRootBrowserLite.cxx:2076
 TRootBrowserLite.cxx:2077
 TRootBrowserLite.cxx:2078
 TRootBrowserLite.cxx:2079
 TRootBrowserLite.cxx:2080
 TRootBrowserLite.cxx:2081
 TRootBrowserLite.cxx:2082
 TRootBrowserLite.cxx:2083
 TRootBrowserLite.cxx:2084
 TRootBrowserLite.cxx:2085
 TRootBrowserLite.cxx:2086
 TRootBrowserLite.cxx:2087
 TRootBrowserLite.cxx:2088
 TRootBrowserLite.cxx:2089
 TRootBrowserLite.cxx:2090
 TRootBrowserLite.cxx:2091
 TRootBrowserLite.cxx:2092
 TRootBrowserLite.cxx:2093
 TRootBrowserLite.cxx:2094
 TRootBrowserLite.cxx:2095
 TRootBrowserLite.cxx:2096
 TRootBrowserLite.cxx:2097
 TRootBrowserLite.cxx:2098
 TRootBrowserLite.cxx:2099
 TRootBrowserLite.cxx:2100
 TRootBrowserLite.cxx:2101
 TRootBrowserLite.cxx:2102
 TRootBrowserLite.cxx:2103
 TRootBrowserLite.cxx:2104
 TRootBrowserLite.cxx:2105
 TRootBrowserLite.cxx:2106
 TRootBrowserLite.cxx:2107
 TRootBrowserLite.cxx:2108
 TRootBrowserLite.cxx:2109
 TRootBrowserLite.cxx:2110
 TRootBrowserLite.cxx:2111
 TRootBrowserLite.cxx:2112
 TRootBrowserLite.cxx:2113
 TRootBrowserLite.cxx:2114
 TRootBrowserLite.cxx:2115
 TRootBrowserLite.cxx:2116
 TRootBrowserLite.cxx:2117
 TRootBrowserLite.cxx:2118
 TRootBrowserLite.cxx:2119
 TRootBrowserLite.cxx:2120
 TRootBrowserLite.cxx:2121
 TRootBrowserLite.cxx:2122
 TRootBrowserLite.cxx:2123
 TRootBrowserLite.cxx:2124
 TRootBrowserLite.cxx:2125
 TRootBrowserLite.cxx:2126
 TRootBrowserLite.cxx:2127
 TRootBrowserLite.cxx:2128
 TRootBrowserLite.cxx:2129
 TRootBrowserLite.cxx:2130
 TRootBrowserLite.cxx:2131
 TRootBrowserLite.cxx:2132
 TRootBrowserLite.cxx:2133
 TRootBrowserLite.cxx:2134
 TRootBrowserLite.cxx:2135
 TRootBrowserLite.cxx:2136
 TRootBrowserLite.cxx:2137
 TRootBrowserLite.cxx:2138
 TRootBrowserLite.cxx:2139
 TRootBrowserLite.cxx:2140
 TRootBrowserLite.cxx:2141
 TRootBrowserLite.cxx:2142
 TRootBrowserLite.cxx:2143
 TRootBrowserLite.cxx:2144
 TRootBrowserLite.cxx:2145
 TRootBrowserLite.cxx:2146
 TRootBrowserLite.cxx:2147
 TRootBrowserLite.cxx:2148
 TRootBrowserLite.cxx:2149
 TRootBrowserLite.cxx:2150
 TRootBrowserLite.cxx:2151
 TRootBrowserLite.cxx:2152
 TRootBrowserLite.cxx:2153
 TRootBrowserLite.cxx:2154
 TRootBrowserLite.cxx:2155
 TRootBrowserLite.cxx:2156
 TRootBrowserLite.cxx:2157
 TRootBrowserLite.cxx:2158
 TRootBrowserLite.cxx:2159
 TRootBrowserLite.cxx:2160
 TRootBrowserLite.cxx:2161
 TRootBrowserLite.cxx:2162
 TRootBrowserLite.cxx:2163
 TRootBrowserLite.cxx:2164
 TRootBrowserLite.cxx:2165
 TRootBrowserLite.cxx:2166
 TRootBrowserLite.cxx:2167
 TRootBrowserLite.cxx:2168
 TRootBrowserLite.cxx:2169
 TRootBrowserLite.cxx:2170
 TRootBrowserLite.cxx:2171
 TRootBrowserLite.cxx:2172
 TRootBrowserLite.cxx:2173
 TRootBrowserLite.cxx:2174
 TRootBrowserLite.cxx:2175
 TRootBrowserLite.cxx:2176
 TRootBrowserLite.cxx:2177
 TRootBrowserLite.cxx:2178
 TRootBrowserLite.cxx:2179
 TRootBrowserLite.cxx:2180
 TRootBrowserLite.cxx:2181
 TRootBrowserLite.cxx:2182
 TRootBrowserLite.cxx:2183
 TRootBrowserLite.cxx:2184
 TRootBrowserLite.cxx:2185
 TRootBrowserLite.cxx:2186
 TRootBrowserLite.cxx:2187
 TRootBrowserLite.cxx:2188
 TRootBrowserLite.cxx:2189
 TRootBrowserLite.cxx:2190
 TRootBrowserLite.cxx:2191
 TRootBrowserLite.cxx:2192
 TRootBrowserLite.cxx:2193
 TRootBrowserLite.cxx:2194
 TRootBrowserLite.cxx:2195
 TRootBrowserLite.cxx:2196
 TRootBrowserLite.cxx:2197
 TRootBrowserLite.cxx:2198
 TRootBrowserLite.cxx:2199
 TRootBrowserLite.cxx:2200
 TRootBrowserLite.cxx:2201
 TRootBrowserLite.cxx:2202
 TRootBrowserLite.cxx:2203
 TRootBrowserLite.cxx:2204
 TRootBrowserLite.cxx:2205
 TRootBrowserLite.cxx:2206
 TRootBrowserLite.cxx:2207
 TRootBrowserLite.cxx:2208
 TRootBrowserLite.cxx:2209
 TRootBrowserLite.cxx:2210
 TRootBrowserLite.cxx:2211
 TRootBrowserLite.cxx:2212
 TRootBrowserLite.cxx:2213
 TRootBrowserLite.cxx:2214
 TRootBrowserLite.cxx:2215
 TRootBrowserLite.cxx:2216
 TRootBrowserLite.cxx:2217
 TRootBrowserLite.cxx:2218
 TRootBrowserLite.cxx:2219
 TRootBrowserLite.cxx:2220
 TRootBrowserLite.cxx:2221
 TRootBrowserLite.cxx:2222
 TRootBrowserLite.cxx:2223
 TRootBrowserLite.cxx:2224
 TRootBrowserLite.cxx:2225
 TRootBrowserLite.cxx:2226
 TRootBrowserLite.cxx:2227
 TRootBrowserLite.cxx:2228
 TRootBrowserLite.cxx:2229
 TRootBrowserLite.cxx:2230
 TRootBrowserLite.cxx:2231
 TRootBrowserLite.cxx:2232
 TRootBrowserLite.cxx:2233
 TRootBrowserLite.cxx:2234
 TRootBrowserLite.cxx:2235
 TRootBrowserLite.cxx:2236
 TRootBrowserLite.cxx:2237
 TRootBrowserLite.cxx:2238
 TRootBrowserLite.cxx:2239
 TRootBrowserLite.cxx:2240
 TRootBrowserLite.cxx:2241
 TRootBrowserLite.cxx:2242
 TRootBrowserLite.cxx:2243
 TRootBrowserLite.cxx:2244
 TRootBrowserLite.cxx:2245
 TRootBrowserLite.cxx:2246
 TRootBrowserLite.cxx:2247
 TRootBrowserLite.cxx:2248
 TRootBrowserLite.cxx:2249
 TRootBrowserLite.cxx:2250
 TRootBrowserLite.cxx:2251
 TRootBrowserLite.cxx:2252
 TRootBrowserLite.cxx:2253
 TRootBrowserLite.cxx:2254
 TRootBrowserLite.cxx:2255
 TRootBrowserLite.cxx:2256
 TRootBrowserLite.cxx:2257
 TRootBrowserLite.cxx:2258
 TRootBrowserLite.cxx:2259
 TRootBrowserLite.cxx:2260
 TRootBrowserLite.cxx:2261
 TRootBrowserLite.cxx:2262
 TRootBrowserLite.cxx:2263
 TRootBrowserLite.cxx:2264
 TRootBrowserLite.cxx:2265
 TRootBrowserLite.cxx:2266
 TRootBrowserLite.cxx:2267
 TRootBrowserLite.cxx:2268
 TRootBrowserLite.cxx:2269
 TRootBrowserLite.cxx:2270
 TRootBrowserLite.cxx:2271
 TRootBrowserLite.cxx:2272
 TRootBrowserLite.cxx:2273
 TRootBrowserLite.cxx:2274
 TRootBrowserLite.cxx:2275
 TRootBrowserLite.cxx:2276
 TRootBrowserLite.cxx:2277
 TRootBrowserLite.cxx:2278
 TRootBrowserLite.cxx:2279
 TRootBrowserLite.cxx:2280
 TRootBrowserLite.cxx:2281
 TRootBrowserLite.cxx:2282
 TRootBrowserLite.cxx:2283
 TRootBrowserLite.cxx:2284
 TRootBrowserLite.cxx:2285
 TRootBrowserLite.cxx:2286
 TRootBrowserLite.cxx:2287
 TRootBrowserLite.cxx:2288
 TRootBrowserLite.cxx:2289
 TRootBrowserLite.cxx:2290
 TRootBrowserLite.cxx:2291
 TRootBrowserLite.cxx:2292
 TRootBrowserLite.cxx:2293
 TRootBrowserLite.cxx:2294
 TRootBrowserLite.cxx:2295
 TRootBrowserLite.cxx:2296
 TRootBrowserLite.cxx:2297
 TRootBrowserLite.cxx:2298
 TRootBrowserLite.cxx:2299
 TRootBrowserLite.cxx:2300
 TRootBrowserLite.cxx:2301
 TRootBrowserLite.cxx:2302
 TRootBrowserLite.cxx:2303
 TRootBrowserLite.cxx:2304
 TRootBrowserLite.cxx:2305
 TRootBrowserLite.cxx:2306
 TRootBrowserLite.cxx:2307
 TRootBrowserLite.cxx:2308
 TRootBrowserLite.cxx:2309
 TRootBrowserLite.cxx:2310
 TRootBrowserLite.cxx:2311
 TRootBrowserLite.cxx:2312
 TRootBrowserLite.cxx:2313
 TRootBrowserLite.cxx:2314
 TRootBrowserLite.cxx:2315
 TRootBrowserLite.cxx:2316
 TRootBrowserLite.cxx:2317
 TRootBrowserLite.cxx:2318
 TRootBrowserLite.cxx:2319
 TRootBrowserLite.cxx:2320
 TRootBrowserLite.cxx:2321
 TRootBrowserLite.cxx:2322
 TRootBrowserLite.cxx:2323
 TRootBrowserLite.cxx:2324
 TRootBrowserLite.cxx:2325
 TRootBrowserLite.cxx:2326
 TRootBrowserLite.cxx:2327
 TRootBrowserLite.cxx:2328
 TRootBrowserLite.cxx:2329
 TRootBrowserLite.cxx:2330
 TRootBrowserLite.cxx:2331
 TRootBrowserLite.cxx:2332
 TRootBrowserLite.cxx:2333
 TRootBrowserLite.cxx:2334
 TRootBrowserLite.cxx:2335
 TRootBrowserLite.cxx:2336
 TRootBrowserLite.cxx:2337
 TRootBrowserLite.cxx:2338
 TRootBrowserLite.cxx:2339
 TRootBrowserLite.cxx:2340
 TRootBrowserLite.cxx:2341
 TRootBrowserLite.cxx:2342
 TRootBrowserLite.cxx:2343
 TRootBrowserLite.cxx:2344
 TRootBrowserLite.cxx:2345
 TRootBrowserLite.cxx:2346
 TRootBrowserLite.cxx:2347
 TRootBrowserLite.cxx:2348
 TRootBrowserLite.cxx:2349
 TRootBrowserLite.cxx:2350
 TRootBrowserLite.cxx:2351
 TRootBrowserLite.cxx:2352
 TRootBrowserLite.cxx:2353
 TRootBrowserLite.cxx:2354
 TRootBrowserLite.cxx:2355
 TRootBrowserLite.cxx:2356
 TRootBrowserLite.cxx:2357
 TRootBrowserLite.cxx:2358
 TRootBrowserLite.cxx:2359
 TRootBrowserLite.cxx:2360
 TRootBrowserLite.cxx:2361
 TRootBrowserLite.cxx:2362
 TRootBrowserLite.cxx:2363
 TRootBrowserLite.cxx:2364
 TRootBrowserLite.cxx:2365
 TRootBrowserLite.cxx:2366
 TRootBrowserLite.cxx:2367
 TRootBrowserLite.cxx:2368
 TRootBrowserLite.cxx:2369
 TRootBrowserLite.cxx:2370
 TRootBrowserLite.cxx:2371
 TRootBrowserLite.cxx:2372
 TRootBrowserLite.cxx:2373
 TRootBrowserLite.cxx:2374
 TRootBrowserLite.cxx:2375
 TRootBrowserLite.cxx:2376
 TRootBrowserLite.cxx:2377
 TRootBrowserLite.cxx:2378
 TRootBrowserLite.cxx:2379
 TRootBrowserLite.cxx:2380
 TRootBrowserLite.cxx:2381
 TRootBrowserLite.cxx:2382
 TRootBrowserLite.cxx:2383
 TRootBrowserLite.cxx:2384
 TRootBrowserLite.cxx:2385
 TRootBrowserLite.cxx:2386
 TRootBrowserLite.cxx:2387
 TRootBrowserLite.cxx:2388
 TRootBrowserLite.cxx:2389
 TRootBrowserLite.cxx:2390
 TRootBrowserLite.cxx:2391
 TRootBrowserLite.cxx:2392
 TRootBrowserLite.cxx:2393
 TRootBrowserLite.cxx:2394
 TRootBrowserLite.cxx:2395
 TRootBrowserLite.cxx:2396
 TRootBrowserLite.cxx:2397
 TRootBrowserLite.cxx:2398
 TRootBrowserLite.cxx:2399
 TRootBrowserLite.cxx:2400
 TRootBrowserLite.cxx:2401
 TRootBrowserLite.cxx:2402
 TRootBrowserLite.cxx:2403
 TRootBrowserLite.cxx:2404
 TRootBrowserLite.cxx:2405
 TRootBrowserLite.cxx:2406
 TRootBrowserLite.cxx:2407
 TRootBrowserLite.cxx:2408
 TRootBrowserLite.cxx:2409
 TRootBrowserLite.cxx:2410
 TRootBrowserLite.cxx:2411
 TRootBrowserLite.cxx:2412
 TRootBrowserLite.cxx:2413
 TRootBrowserLite.cxx:2414
 TRootBrowserLite.cxx:2415
 TRootBrowserLite.cxx:2416
 TRootBrowserLite.cxx:2417
 TRootBrowserLite.cxx:2418
 TRootBrowserLite.cxx:2419
 TRootBrowserLite.cxx:2420
 TRootBrowserLite.cxx:2421
 TRootBrowserLite.cxx:2422
 TRootBrowserLite.cxx:2423
 TRootBrowserLite.cxx:2424
 TRootBrowserLite.cxx:2425
 TRootBrowserLite.cxx:2426
 TRootBrowserLite.cxx:2427
 TRootBrowserLite.cxx:2428
 TRootBrowserLite.cxx:2429
 TRootBrowserLite.cxx:2430
 TRootBrowserLite.cxx:2431
 TRootBrowserLite.cxx:2432
 TRootBrowserLite.cxx:2433
 TRootBrowserLite.cxx:2434
 TRootBrowserLite.cxx:2435
 TRootBrowserLite.cxx:2436
 TRootBrowserLite.cxx:2437
 TRootBrowserLite.cxx:2438
 TRootBrowserLite.cxx:2439
 TRootBrowserLite.cxx:2440
 TRootBrowserLite.cxx:2441
 TRootBrowserLite.cxx:2442
 TRootBrowserLite.cxx:2443
 TRootBrowserLite.cxx:2444
 TRootBrowserLite.cxx:2445
 TRootBrowserLite.cxx:2446
 TRootBrowserLite.cxx:2447
 TRootBrowserLite.cxx:2448
 TRootBrowserLite.cxx:2449
 TRootBrowserLite.cxx:2450
 TRootBrowserLite.cxx:2451
 TRootBrowserLite.cxx:2452
 TRootBrowserLite.cxx:2453
 TRootBrowserLite.cxx:2454
 TRootBrowserLite.cxx:2455
 TRootBrowserLite.cxx:2456
 TRootBrowserLite.cxx:2457
 TRootBrowserLite.cxx:2458
 TRootBrowserLite.cxx:2459
 TRootBrowserLite.cxx:2460
 TRootBrowserLite.cxx:2461
 TRootBrowserLite.cxx:2462
 TRootBrowserLite.cxx:2463
 TRootBrowserLite.cxx:2464
 TRootBrowserLite.cxx:2465
 TRootBrowserLite.cxx:2466
 TRootBrowserLite.cxx:2467
 TRootBrowserLite.cxx:2468
 TRootBrowserLite.cxx:2469
 TRootBrowserLite.cxx:2470
 TRootBrowserLite.cxx:2471
 TRootBrowserLite.cxx:2472
 TRootBrowserLite.cxx:2473
 TRootBrowserLite.cxx:2474
 TRootBrowserLite.cxx:2475
 TRootBrowserLite.cxx:2476
 TRootBrowserLite.cxx:2477
 TRootBrowserLite.cxx:2478
 TRootBrowserLite.cxx:2479
 TRootBrowserLite.cxx:2480
 TRootBrowserLite.cxx:2481
 TRootBrowserLite.cxx:2482
 TRootBrowserLite.cxx:2483
 TRootBrowserLite.cxx:2484
 TRootBrowserLite.cxx:2485
 TRootBrowserLite.cxx:2486
 TRootBrowserLite.cxx:2487
 TRootBrowserLite.cxx:2488
 TRootBrowserLite.cxx:2489
 TRootBrowserLite.cxx:2490
 TRootBrowserLite.cxx:2491
 TRootBrowserLite.cxx:2492
 TRootBrowserLite.cxx:2493
 TRootBrowserLite.cxx:2494
 TRootBrowserLite.cxx:2495
 TRootBrowserLite.cxx:2496
 TRootBrowserLite.cxx:2497
 TRootBrowserLite.cxx:2498
 TRootBrowserLite.cxx:2499
 TRootBrowserLite.cxx:2500
 TRootBrowserLite.cxx:2501
 TRootBrowserLite.cxx:2502
 TRootBrowserLite.cxx:2503
 TRootBrowserLite.cxx:2504
 TRootBrowserLite.cxx:2505
 TRootBrowserLite.cxx:2506
 TRootBrowserLite.cxx:2507
 TRootBrowserLite.cxx:2508
 TRootBrowserLite.cxx:2509
 TRootBrowserLite.cxx:2510
 TRootBrowserLite.cxx:2511
 TRootBrowserLite.cxx:2512
 TRootBrowserLite.cxx:2513
 TRootBrowserLite.cxx:2514
 TRootBrowserLite.cxx:2515
 TRootBrowserLite.cxx:2516
 TRootBrowserLite.cxx:2517
 TRootBrowserLite.cxx:2518
 TRootBrowserLite.cxx:2519
 TRootBrowserLite.cxx:2520
 TRootBrowserLite.cxx:2521
 TRootBrowserLite.cxx:2522
 TRootBrowserLite.cxx:2523
 TRootBrowserLite.cxx:2524
 TRootBrowserLite.cxx:2525
 TRootBrowserLite.cxx:2526
 TRootBrowserLite.cxx:2527
 TRootBrowserLite.cxx:2528
 TRootBrowserLite.cxx:2529
 TRootBrowserLite.cxx:2530
 TRootBrowserLite.cxx:2531
 TRootBrowserLite.cxx:2532
 TRootBrowserLite.cxx:2533
 TRootBrowserLite.cxx:2534
 TRootBrowserLite.cxx:2535
 TRootBrowserLite.cxx:2536
 TRootBrowserLite.cxx:2537
 TRootBrowserLite.cxx:2538
 TRootBrowserLite.cxx:2539
 TRootBrowserLite.cxx:2540
 TRootBrowserLite.cxx:2541
 TRootBrowserLite.cxx:2542
 TRootBrowserLite.cxx:2543
 TRootBrowserLite.cxx:2544
 TRootBrowserLite.cxx:2545
 TRootBrowserLite.cxx:2546
 TRootBrowserLite.cxx:2547
 TRootBrowserLite.cxx:2548
 TRootBrowserLite.cxx:2549
 TRootBrowserLite.cxx:2550
 TRootBrowserLite.cxx:2551
 TRootBrowserLite.cxx:2552
 TRootBrowserLite.cxx:2553
 TRootBrowserLite.cxx:2554
 TRootBrowserLite.cxx:2555
 TRootBrowserLite.cxx:2556
 TRootBrowserLite.cxx:2557
 TRootBrowserLite.cxx:2558
 TRootBrowserLite.cxx:2559
 TRootBrowserLite.cxx:2560
 TRootBrowserLite.cxx:2561
 TRootBrowserLite.cxx:2562
 TRootBrowserLite.cxx:2563
 TRootBrowserLite.cxx:2564
 TRootBrowserLite.cxx:2565
 TRootBrowserLite.cxx:2566
 TRootBrowserLite.cxx:2567
 TRootBrowserLite.cxx:2568
 TRootBrowserLite.cxx:2569
 TRootBrowserLite.cxx:2570
 TRootBrowserLite.cxx:2571
 TRootBrowserLite.cxx:2572
 TRootBrowserLite.cxx:2573
 TRootBrowserLite.cxx:2574
 TRootBrowserLite.cxx:2575
 TRootBrowserLite.cxx:2576
 TRootBrowserLite.cxx:2577
 TRootBrowserLite.cxx:2578
 TRootBrowserLite.cxx:2579
 TRootBrowserLite.cxx:2580
 TRootBrowserLite.cxx:2581
 TRootBrowserLite.cxx:2582
 TRootBrowserLite.cxx:2583
 TRootBrowserLite.cxx:2584
 TRootBrowserLite.cxx:2585
 TRootBrowserLite.cxx:2586
 TRootBrowserLite.cxx:2587
 TRootBrowserLite.cxx:2588
 TRootBrowserLite.cxx:2589
 TRootBrowserLite.cxx:2590
 TRootBrowserLite.cxx:2591
 TRootBrowserLite.cxx:2592
 TRootBrowserLite.cxx:2593
 TRootBrowserLite.cxx:2594
 TRootBrowserLite.cxx:2595
 TRootBrowserLite.cxx:2596
 TRootBrowserLite.cxx:2597
 TRootBrowserLite.cxx:2598
 TRootBrowserLite.cxx:2599
 TRootBrowserLite.cxx:2600
 TRootBrowserLite.cxx:2601
 TRootBrowserLite.cxx:2602
 TRootBrowserLite.cxx:2603
 TRootBrowserLite.cxx:2604
 TRootBrowserLite.cxx:2605
 TRootBrowserLite.cxx:2606
 TRootBrowserLite.cxx:2607
 TRootBrowserLite.cxx:2608
 TRootBrowserLite.cxx:2609
 TRootBrowserLite.cxx:2610
 TRootBrowserLite.cxx:2611
 TRootBrowserLite.cxx:2612
 TRootBrowserLite.cxx:2613
 TRootBrowserLite.cxx:2614
 TRootBrowserLite.cxx:2615
 TRootBrowserLite.cxx:2616
 TRootBrowserLite.cxx:2617
 TRootBrowserLite.cxx:2618
 TRootBrowserLite.cxx:2619
 TRootBrowserLite.cxx:2620
 TRootBrowserLite.cxx:2621
 TRootBrowserLite.cxx:2622
 TRootBrowserLite.cxx:2623
 TRootBrowserLite.cxx:2624
 TRootBrowserLite.cxx:2625
 TRootBrowserLite.cxx:2626
 TRootBrowserLite.cxx:2627
 TRootBrowserLite.cxx:2628
 TRootBrowserLite.cxx:2629
 TRootBrowserLite.cxx:2630
 TRootBrowserLite.cxx:2631
 TRootBrowserLite.cxx:2632
 TRootBrowserLite.cxx:2633
 TRootBrowserLite.cxx:2634
 TRootBrowserLite.cxx:2635
 TRootBrowserLite.cxx:2636
 TRootBrowserLite.cxx:2637
 TRootBrowserLite.cxx:2638
 TRootBrowserLite.cxx:2639
 TRootBrowserLite.cxx:2640
 TRootBrowserLite.cxx:2641
 TRootBrowserLite.cxx:2642
 TRootBrowserLite.cxx:2643
 TRootBrowserLite.cxx:2644
 TRootBrowserLite.cxx:2645
 TRootBrowserLite.cxx:2646
 TRootBrowserLite.cxx:2647
 TRootBrowserLite.cxx:2648
 TRootBrowserLite.cxx:2649
 TRootBrowserLite.cxx:2650
 TRootBrowserLite.cxx:2651
 TRootBrowserLite.cxx:2652
 TRootBrowserLite.cxx:2653
 TRootBrowserLite.cxx:2654
 TRootBrowserLite.cxx:2655
 TRootBrowserLite.cxx:2656
 TRootBrowserLite.cxx:2657
 TRootBrowserLite.cxx:2658
 TRootBrowserLite.cxx:2659
 TRootBrowserLite.cxx:2660
 TRootBrowserLite.cxx:2661
 TRootBrowserLite.cxx:2662
 TRootBrowserLite.cxx:2663
 TRootBrowserLite.cxx:2664
 TRootBrowserLite.cxx:2665
 TRootBrowserLite.cxx:2666
 TRootBrowserLite.cxx:2667
 TRootBrowserLite.cxx:2668
 TRootBrowserLite.cxx:2669
 TRootBrowserLite.cxx:2670
 TRootBrowserLite.cxx:2671
 TRootBrowserLite.cxx:2672
 TRootBrowserLite.cxx:2673
 TRootBrowserLite.cxx:2674
 TRootBrowserLite.cxx:2675
 TRootBrowserLite.cxx:2676
 TRootBrowserLite.cxx:2677
 TRootBrowserLite.cxx:2678
 TRootBrowserLite.cxx:2679
 TRootBrowserLite.cxx:2680
 TRootBrowserLite.cxx:2681
 TRootBrowserLite.cxx:2682
 TRootBrowserLite.cxx:2683
 TRootBrowserLite.cxx:2684
 TRootBrowserLite.cxx:2685
 TRootBrowserLite.cxx:2686
 TRootBrowserLite.cxx:2687
 TRootBrowserLite.cxx:2688
 TRootBrowserLite.cxx:2689
 TRootBrowserLite.cxx:2690
 TRootBrowserLite.cxx:2691
 TRootBrowserLite.cxx:2692
 TRootBrowserLite.cxx:2693
 TRootBrowserLite.cxx:2694
 TRootBrowserLite.cxx:2695
 TRootBrowserLite.cxx:2696
 TRootBrowserLite.cxx:2697
 TRootBrowserLite.cxx:2698
 TRootBrowserLite.cxx:2699
 TRootBrowserLite.cxx:2700
 TRootBrowserLite.cxx:2701
 TRootBrowserLite.cxx:2702
 TRootBrowserLite.cxx:2703
 TRootBrowserLite.cxx:2704
 TRootBrowserLite.cxx:2705
 TRootBrowserLite.cxx:2706
 TRootBrowserLite.cxx:2707
 TRootBrowserLite.cxx:2708
 TRootBrowserLite.cxx:2709
 TRootBrowserLite.cxx:2710
 TRootBrowserLite.cxx:2711
 TRootBrowserLite.cxx:2712
 TRootBrowserLite.cxx:2713
 TRootBrowserLite.cxx:2714
 TRootBrowserLite.cxx:2715
 TRootBrowserLite.cxx:2716
 TRootBrowserLite.cxx:2717
 TRootBrowserLite.cxx:2718
 TRootBrowserLite.cxx:2719
 TRootBrowserLite.cxx:2720
 TRootBrowserLite.cxx:2721
 TRootBrowserLite.cxx:2722
 TRootBrowserLite.cxx:2723
 TRootBrowserLite.cxx:2724
 TRootBrowserLite.cxx:2725
 TRootBrowserLite.cxx:2726
 TRootBrowserLite.cxx:2727
 TRootBrowserLite.cxx:2728
 TRootBrowserLite.cxx:2729
 TRootBrowserLite.cxx:2730
 TRootBrowserLite.cxx:2731
 TRootBrowserLite.cxx:2732
 TRootBrowserLite.cxx:2733
 TRootBrowserLite.cxx:2734
 TRootBrowserLite.cxx:2735
 TRootBrowserLite.cxx:2736
 TRootBrowserLite.cxx:2737
 TRootBrowserLite.cxx:2738
 TRootBrowserLite.cxx:2739
 TRootBrowserLite.cxx:2740
 TRootBrowserLite.cxx:2741
 TRootBrowserLite.cxx:2742
 TRootBrowserLite.cxx:2743
 TRootBrowserLite.cxx:2744
 TRootBrowserLite.cxx:2745
 TRootBrowserLite.cxx:2746
 TRootBrowserLite.cxx:2747
 TRootBrowserLite.cxx:2748
 TRootBrowserLite.cxx:2749
 TRootBrowserLite.cxx:2750
 TRootBrowserLite.cxx:2751
 TRootBrowserLite.cxx:2752
 TRootBrowserLite.cxx:2753
 TRootBrowserLite.cxx:2754
 TRootBrowserLite.cxx:2755
 TRootBrowserLite.cxx:2756
 TRootBrowserLite.cxx:2757
 TRootBrowserLite.cxx:2758
 TRootBrowserLite.cxx:2759
 TRootBrowserLite.cxx:2760
 TRootBrowserLite.cxx:2761
 TRootBrowserLite.cxx:2762
 TRootBrowserLite.cxx:2763
 TRootBrowserLite.cxx:2764
 TRootBrowserLite.cxx:2765
 TRootBrowserLite.cxx:2766
 TRootBrowserLite.cxx:2767
 TRootBrowserLite.cxx:2768
 TRootBrowserLite.cxx:2769
 TRootBrowserLite.cxx:2770
 TRootBrowserLite.cxx:2771
 TRootBrowserLite.cxx:2772
 TRootBrowserLite.cxx:2773
 TRootBrowserLite.cxx:2774
 TRootBrowserLite.cxx:2775
 TRootBrowserLite.cxx:2776
 TRootBrowserLite.cxx:2777
 TRootBrowserLite.cxx:2778
 TRootBrowserLite.cxx:2779
 TRootBrowserLite.cxx:2780
 TRootBrowserLite.cxx:2781
 TRootBrowserLite.cxx:2782
 TRootBrowserLite.cxx:2783
 TRootBrowserLite.cxx:2784
 TRootBrowserLite.cxx:2785
 TRootBrowserLite.cxx:2786
 TRootBrowserLite.cxx:2787
 TRootBrowserLite.cxx:2788
 TRootBrowserLite.cxx:2789
 TRootBrowserLite.cxx:2790
 TRootBrowserLite.cxx:2791
 TRootBrowserLite.cxx:2792
 TRootBrowserLite.cxx:2793
 TRootBrowserLite.cxx:2794
 TRootBrowserLite.cxx:2795
 TRootBrowserLite.cxx:2796
 TRootBrowserLite.cxx:2797
 TRootBrowserLite.cxx:2798
 TRootBrowserLite.cxx:2799
 TRootBrowserLite.cxx:2800
 TRootBrowserLite.cxx:2801
 TRootBrowserLite.cxx:2802
 TRootBrowserLite.cxx:2803
 TRootBrowserLite.cxx:2804
 TRootBrowserLite.cxx:2805
 TRootBrowserLite.cxx:2806
 TRootBrowserLite.cxx:2807
 TRootBrowserLite.cxx:2808
 TRootBrowserLite.cxx:2809
 TRootBrowserLite.cxx:2810
 TRootBrowserLite.cxx:2811
 TRootBrowserLite.cxx:2812
 TRootBrowserLite.cxx:2813
 TRootBrowserLite.cxx:2814
 TRootBrowserLite.cxx:2815
 TRootBrowserLite.cxx:2816
 TRootBrowserLite.cxx:2817
 TRootBrowserLite.cxx:2818
 TRootBrowserLite.cxx:2819
 TRootBrowserLite.cxx:2820
 TRootBrowserLite.cxx:2821
 TRootBrowserLite.cxx:2822
 TRootBrowserLite.cxx:2823
 TRootBrowserLite.cxx:2824
 TRootBrowserLite.cxx:2825
 TRootBrowserLite.cxx:2826
 TRootBrowserLite.cxx:2827
 TRootBrowserLite.cxx:2828
 TRootBrowserLite.cxx:2829
 TRootBrowserLite.cxx:2830
 TRootBrowserLite.cxx:2831
 TRootBrowserLite.cxx:2832
 TRootBrowserLite.cxx:2833
 TRootBrowserLite.cxx:2834
 TRootBrowserLite.cxx:2835
 TRootBrowserLite.cxx:2836
 TRootBrowserLite.cxx:2837
 TRootBrowserLite.cxx:2838
 TRootBrowserLite.cxx:2839
 TRootBrowserLite.cxx:2840
 TRootBrowserLite.cxx:2841
 TRootBrowserLite.cxx:2842
 TRootBrowserLite.cxx:2843
 TRootBrowserLite.cxx:2844
 TRootBrowserLite.cxx:2845
 TRootBrowserLite.cxx:2846
 TRootBrowserLite.cxx:2847
 TRootBrowserLite.cxx:2848
 TRootBrowserLite.cxx:2849
 TRootBrowserLite.cxx:2850
 TRootBrowserLite.cxx:2851
 TRootBrowserLite.cxx:2852
 TRootBrowserLite.cxx:2853
 TRootBrowserLite.cxx:2854
 TRootBrowserLite.cxx:2855
 TRootBrowserLite.cxx:2856
 TRootBrowserLite.cxx:2857
 TRootBrowserLite.cxx:2858
 TRootBrowserLite.cxx:2859
 TRootBrowserLite.cxx:2860
 TRootBrowserLite.cxx:2861
 TRootBrowserLite.cxx:2862
 TRootBrowserLite.cxx:2863
 TRootBrowserLite.cxx:2864
 TRootBrowserLite.cxx:2865
 TRootBrowserLite.cxx:2866
 TRootBrowserLite.cxx:2867
 TRootBrowserLite.cxx:2868
 TRootBrowserLite.cxx:2869
 TRootBrowserLite.cxx:2870
 TRootBrowserLite.cxx:2871
 TRootBrowserLite.cxx:2872
 TRootBrowserLite.cxx:2873
 TRootBrowserLite.cxx:2874
 TRootBrowserLite.cxx:2875
 TRootBrowserLite.cxx:2876
 TRootBrowserLite.cxx:2877
 TRootBrowserLite.cxx:2878
 TRootBrowserLite.cxx:2879
 TRootBrowserLite.cxx:2880
 TRootBrowserLite.cxx:2881
 TRootBrowserLite.cxx:2882
 TRootBrowserLite.cxx:2883
 TRootBrowserLite.cxx:2884
 TRootBrowserLite.cxx:2885
 TRootBrowserLite.cxx:2886
 TRootBrowserLite.cxx:2887
 TRootBrowserLite.cxx:2888
 TRootBrowserLite.cxx:2889
 TRootBrowserLite.cxx:2890
 TRootBrowserLite.cxx:2891
 TRootBrowserLite.cxx:2892
 TRootBrowserLite.cxx:2893
 TRootBrowserLite.cxx:2894
 TRootBrowserLite.cxx:2895
 TRootBrowserLite.cxx:2896
 TRootBrowserLite.cxx:2897
 TRootBrowserLite.cxx:2898
 TRootBrowserLite.cxx:2899
 TRootBrowserLite.cxx:2900
 TRootBrowserLite.cxx:2901
 TRootBrowserLite.cxx:2902
 TRootBrowserLite.cxx:2903
 TRootBrowserLite.cxx:2904
 TRootBrowserLite.cxx:2905
 TRootBrowserLite.cxx:2906
 TRootBrowserLite.cxx:2907
 TRootBrowserLite.cxx:2908
 TRootBrowserLite.cxx:2909
 TRootBrowserLite.cxx:2910
 TRootBrowserLite.cxx:2911
 TRootBrowserLite.cxx:2912
 TRootBrowserLite.cxx:2913
 TRootBrowserLite.cxx:2914
 TRootBrowserLite.cxx:2915
 TRootBrowserLite.cxx:2916
 TRootBrowserLite.cxx:2917
 TRootBrowserLite.cxx:2918
 TRootBrowserLite.cxx:2919
 TRootBrowserLite.cxx:2920
 TRootBrowserLite.cxx:2921
 TRootBrowserLite.cxx:2922
 TRootBrowserLite.cxx:2923
 TRootBrowserLite.cxx:2924
 TRootBrowserLite.cxx:2925
 TRootBrowserLite.cxx:2926
 TRootBrowserLite.cxx:2927
 TRootBrowserLite.cxx:2928
 TRootBrowserLite.cxx:2929
 TRootBrowserLite.cxx:2930
 TRootBrowserLite.cxx:2931
 TRootBrowserLite.cxx:2932
 TRootBrowserLite.cxx:2933
 TRootBrowserLite.cxx:2934
 TRootBrowserLite.cxx:2935
 TRootBrowserLite.cxx:2936
 TRootBrowserLite.cxx:2937
 TRootBrowserLite.cxx:2938
 TRootBrowserLite.cxx:2939
 TRootBrowserLite.cxx:2940
 TRootBrowserLite.cxx:2941
 TRootBrowserLite.cxx:2942
 TRootBrowserLite.cxx:2943
 TRootBrowserLite.cxx:2944
 TRootBrowserLite.cxx:2945
 TRootBrowserLite.cxx:2946
 TRootBrowserLite.cxx:2947
 TRootBrowserLite.cxx:2948
 TRootBrowserLite.cxx:2949
 TRootBrowserLite.cxx:2950
 TRootBrowserLite.cxx:2951
 TRootBrowserLite.cxx:2952
 TRootBrowserLite.cxx:2953
 TRootBrowserLite.cxx:2954
 TRootBrowserLite.cxx:2955
 TRootBrowserLite.cxx:2956
 TRootBrowserLite.cxx:2957
 TRootBrowserLite.cxx:2958
 TRootBrowserLite.cxx:2959
 TRootBrowserLite.cxx:2960
 TRootBrowserLite.cxx:2961
 TRootBrowserLite.cxx:2962
 TRootBrowserLite.cxx:2963
 TRootBrowserLite.cxx:2964
 TRootBrowserLite.cxx:2965
 TRootBrowserLite.cxx:2966
 TRootBrowserLite.cxx:2967
 TRootBrowserLite.cxx:2968
 TRootBrowserLite.cxx:2969
 TRootBrowserLite.cxx:2970
 TRootBrowserLite.cxx:2971
 TRootBrowserLite.cxx:2972
 TRootBrowserLite.cxx:2973
 TRootBrowserLite.cxx:2974
 TRootBrowserLite.cxx:2975
 TRootBrowserLite.cxx:2976
 TRootBrowserLite.cxx:2977
 TRootBrowserLite.cxx:2978
 TRootBrowserLite.cxx:2979
 TRootBrowserLite.cxx:2980
 TRootBrowserLite.cxx:2981
 TRootBrowserLite.cxx:2982
 TRootBrowserLite.cxx:2983
 TRootBrowserLite.cxx:2984
 TRootBrowserLite.cxx:2985
 TRootBrowserLite.cxx:2986
 TRootBrowserLite.cxx:2987
 TRootBrowserLite.cxx:2988
 TRootBrowserLite.cxx:2989
 TRootBrowserLite.cxx:2990
 TRootBrowserLite.cxx:2991
 TRootBrowserLite.cxx:2992
 TRootBrowserLite.cxx:2993
 TRootBrowserLite.cxx:2994
 TRootBrowserLite.cxx:2995
 TRootBrowserLite.cxx:2996
 TRootBrowserLite.cxx:2997
 TRootBrowserLite.cxx:2998
 TRootBrowserLite.cxx:2999
 TRootBrowserLite.cxx:3000
 TRootBrowserLite.cxx:3001
 TRootBrowserLite.cxx:3002
 TRootBrowserLite.cxx:3003
 TRootBrowserLite.cxx:3004
 TRootBrowserLite.cxx:3005
 TRootBrowserLite.cxx:3006
 TRootBrowserLite.cxx:3007
 TRootBrowserLite.cxx:3008
 TRootBrowserLite.cxx:3009
 TRootBrowserLite.cxx:3010
 TRootBrowserLite.cxx:3011
 TRootBrowserLite.cxx:3012
 TRootBrowserLite.cxx:3013
 TRootBrowserLite.cxx:3014
 TRootBrowserLite.cxx:3015
 TRootBrowserLite.cxx:3016
 TRootBrowserLite.cxx:3017
 TRootBrowserLite.cxx:3018
 TRootBrowserLite.cxx:3019
 TRootBrowserLite.cxx:3020
 TRootBrowserLite.cxx:3021
 TRootBrowserLite.cxx:3022
 TRootBrowserLite.cxx:3023
 TRootBrowserLite.cxx:3024
 TRootBrowserLite.cxx:3025
 TRootBrowserLite.cxx:3026
 TRootBrowserLite.cxx:3027
 TRootBrowserLite.cxx:3028
 TRootBrowserLite.cxx:3029
 TRootBrowserLite.cxx:3030
 TRootBrowserLite.cxx:3031
 TRootBrowserLite.cxx:3032
 TRootBrowserLite.cxx:3033
 TRootBrowserLite.cxx:3034
 TRootBrowserLite.cxx:3035
 TRootBrowserLite.cxx:3036
 TRootBrowserLite.cxx:3037
 TRootBrowserLite.cxx:3038
 TRootBrowserLite.cxx:3039
 TRootBrowserLite.cxx:3040
 TRootBrowserLite.cxx:3041
 TRootBrowserLite.cxx:3042
 TRootBrowserLite.cxx:3043
 TRootBrowserLite.cxx:3044
 TRootBrowserLite.cxx:3045
 TRootBrowserLite.cxx:3046
 TRootBrowserLite.cxx:3047
 TRootBrowserLite.cxx:3048
 TRootBrowserLite.cxx:3049
 TRootBrowserLite.cxx:3050
 TRootBrowserLite.cxx:3051
 TRootBrowserLite.cxx:3052
 TRootBrowserLite.cxx:3053
 TRootBrowserLite.cxx:3054
 TRootBrowserLite.cxx:3055
 TRootBrowserLite.cxx:3056
 TRootBrowserLite.cxx:3057
 TRootBrowserLite.cxx:3058
 TRootBrowserLite.cxx:3059
 TRootBrowserLite.cxx:3060
 TRootBrowserLite.cxx:3061
 TRootBrowserLite.cxx:3062
 TRootBrowserLite.cxx:3063
 TRootBrowserLite.cxx:3064
 TRootBrowserLite.cxx:3065
 TRootBrowserLite.cxx:3066
 TRootBrowserLite.cxx:3067
 TRootBrowserLite.cxx:3068
 TRootBrowserLite.cxx:3069
 TRootBrowserLite.cxx:3070
 TRootBrowserLite.cxx:3071
 TRootBrowserLite.cxx:3072
 TRootBrowserLite.cxx:3073
 TRootBrowserLite.cxx:3074
 TRootBrowserLite.cxx:3075
 TRootBrowserLite.cxx:3076
 TRootBrowserLite.cxx:3077
 TRootBrowserLite.cxx:3078
 TRootBrowserLite.cxx:3079
 TRootBrowserLite.cxx:3080
 TRootBrowserLite.cxx:3081
 TRootBrowserLite.cxx:3082
 TRootBrowserLite.cxx:3083
 TRootBrowserLite.cxx:3084
 TRootBrowserLite.cxx:3085
 TRootBrowserLite.cxx:3086
 TRootBrowserLite.cxx:3087
 TRootBrowserLite.cxx:3088
 TRootBrowserLite.cxx:3089
 TRootBrowserLite.cxx:3090
 TRootBrowserLite.cxx:3091
 TRootBrowserLite.cxx:3092
 TRootBrowserLite.cxx:3093
 TRootBrowserLite.cxx:3094
 TRootBrowserLite.cxx:3095
 TRootBrowserLite.cxx:3096
 TRootBrowserLite.cxx:3097
 TRootBrowserLite.cxx:3098
 TRootBrowserLite.cxx:3099
 TRootBrowserLite.cxx:3100
 TRootBrowserLite.cxx:3101
 TRootBrowserLite.cxx:3102
 TRootBrowserLite.cxx:3103
 TRootBrowserLite.cxx:3104
 TRootBrowserLite.cxx:3105
 TRootBrowserLite.cxx:3106
 TRootBrowserLite.cxx:3107
 TRootBrowserLite.cxx:3108
 TRootBrowserLite.cxx:3109
 TRootBrowserLite.cxx:3110
 TRootBrowserLite.cxx:3111
 TRootBrowserLite.cxx:3112
 TRootBrowserLite.cxx:3113
 TRootBrowserLite.cxx:3114
 TRootBrowserLite.cxx:3115
 TRootBrowserLite.cxx:3116
 TRootBrowserLite.cxx:3117
 TRootBrowserLite.cxx:3118
 TRootBrowserLite.cxx:3119
 TRootBrowserLite.cxx:3120
 TRootBrowserLite.cxx:3121
 TRootBrowserLite.cxx:3122
 TRootBrowserLite.cxx:3123
 TRootBrowserLite.cxx:3124
 TRootBrowserLite.cxx:3125
 TRootBrowserLite.cxx:3126
 TRootBrowserLite.cxx:3127
 TRootBrowserLite.cxx:3128
 TRootBrowserLite.cxx:3129
 TRootBrowserLite.cxx:3130
 TRootBrowserLite.cxx:3131
 TRootBrowserLite.cxx:3132
 TRootBrowserLite.cxx:3133
 TRootBrowserLite.cxx:3134
 TRootBrowserLite.cxx:3135
 TRootBrowserLite.cxx:3136
 TRootBrowserLite.cxx:3137
 TRootBrowserLite.cxx:3138
 TRootBrowserLite.cxx:3139
 TRootBrowserLite.cxx:3140
 TRootBrowserLite.cxx:3141
 TRootBrowserLite.cxx:3142
 TRootBrowserLite.cxx:3143
 TRootBrowserLite.cxx:3144
 TRootBrowserLite.cxx:3145
 TRootBrowserLite.cxx:3146
 TRootBrowserLite.cxx:3147
 TRootBrowserLite.cxx:3148
 TRootBrowserLite.cxx:3149
 TRootBrowserLite.cxx:3150
 TRootBrowserLite.cxx:3151
 TRootBrowserLite.cxx:3152
 TRootBrowserLite.cxx:3153
 TRootBrowserLite.cxx:3154
 TRootBrowserLite.cxx:3155
 TRootBrowserLite.cxx:3156
 TRootBrowserLite.cxx:3157
 TRootBrowserLite.cxx:3158
 TRootBrowserLite.cxx:3159
 TRootBrowserLite.cxx:3160
 TRootBrowserLite.cxx:3161
 TRootBrowserLite.cxx:3162
 TRootBrowserLite.cxx:3163
 TRootBrowserLite.cxx:3164
 TRootBrowserLite.cxx:3165
 TRootBrowserLite.cxx:3166
 TRootBrowserLite.cxx:3167
 TRootBrowserLite.cxx:3168
 TRootBrowserLite.cxx:3169
 TRootBrowserLite.cxx:3170
 TRootBrowserLite.cxx:3171
 TRootBrowserLite.cxx:3172
 TRootBrowserLite.cxx:3173
 TRootBrowserLite.cxx:3174
 TRootBrowserLite.cxx:3175
 TRootBrowserLite.cxx:3176