| # This file was automatically generated by SWIG (http://www.swig.org).  | 
| # Version 2.0.4  | 
| #  | 
| # Do not make changes to this file unless you know what you are doing--modify  | 
| # the SWIG interface file instead.  | 
|   | 
|   | 
|   | 
| from sys import version_info  | 
| if version_info >= (2,6,0):  | 
|     def swig_import_helper():  | 
|         from os.path import dirname  | 
|         import imp  | 
|         fp = None  | 
|         try:  | 
|             fp, pathname, description = imp.find_module('_IPY_Team', [dirname(__file__)])  | 
|         except ImportError:  | 
|             import _IPY_Team  | 
|             return _IPY_Team  | 
|         if fp is not None:  | 
|             try:  | 
|                 _mod = imp.load_module('_IPY_Team', fp, pathname, description)  | 
|             finally:  | 
|                 fp.close()  | 
|             return _mod  | 
|     _IPY_Team = swig_import_helper()  | 
|     del swig_import_helper  | 
| else:  | 
|     import _IPY_Team  | 
| del version_info  | 
| try:  | 
|     _swig_property = property  | 
| except NameError:  | 
|     pass # Python < 2.2 doesn't have 'property'.  | 
| def _swig_setattr_nondynamic(self,class_type,name,value,static=1):  | 
|     if (name == "thisown"): return self.this.own(value)  | 
|     if (name == "this"):  | 
|         if type(value).__name__ == 'SwigPyObject':  | 
|             self.__dict__[name] = value  | 
|             return  | 
|     method = class_type.__swig_setmethods__.get(name,None)  | 
|     if method: return method(self,value)  | 
|     if (not static):  | 
|         self.__dict__[name] = value  | 
|     else:  | 
|         raise AttributeError("You cannot add attributes to %s" % self)  | 
|   | 
| def _swig_setattr(self,class_type,name,value):  | 
|     return _swig_setattr_nondynamic(self,class_type,name,value,0)  | 
|   | 
| def _swig_getattr(self,class_type,name):  | 
|     if (name == "thisown"): return self.this.own()  | 
|     method = class_type.__swig_getmethods__.get(name,None)  | 
|     if method: return method(self)  | 
|     raise AttributeError(name)  | 
|   | 
| def _swig_repr(self):  | 
|     try: strthis = "proxy of " + self.this.__repr__()  | 
|     except: strthis = ""  | 
|     return "<%s.%s; %s >" % (self.__class__.__module__, self.__class__.__name__, strthis,)  | 
|   | 
| try:  | 
|     _object = object  | 
|     _newclass = 1  | 
| except AttributeError:  | 
|     class _object : pass  | 
|     _newclass = 0  | 
|   | 
|   | 
| class SwigPyIterator(_object):  | 
|     __swig_setmethods__ = {}  | 
|     __setattr__ = lambda self, name, value: _swig_setattr(self, SwigPyIterator, name, value)  | 
|     __swig_getmethods__ = {}  | 
|     __getattr__ = lambda self, name: _swig_getattr(self, SwigPyIterator, name)  | 
|     def __init__(self, *args, **kwargs): raise AttributeError("No constructor defined - class is abstract")  | 
|     __repr__ = _swig_repr  | 
|     __swig_destroy__ = _IPY_Team.delete_SwigPyIterator  | 
|     __del__ = lambda self : None;  | 
|     def value(self): return _IPY_Team.SwigPyIterator_value(self)  | 
|     def incr(self, n = 1): return _IPY_Team.SwigPyIterator_incr(self, n)  | 
|     def decr(self, n = 1): return _IPY_Team.SwigPyIterator_decr(self, n)  | 
|     def distance(self, *args): return _IPY_Team.SwigPyIterator_distance(self, *args)  | 
|     def equal(self, *args): return _IPY_Team.SwigPyIterator_equal(self, *args)  | 
|     def copy(self): return _IPY_Team.SwigPyIterator_copy(self)  | 
|     def next(self): return _IPY_Team.SwigPyIterator_next(self)  | 
|     def __next__(self): return _IPY_Team.SwigPyIterator___next__(self)  | 
|     def previous(self): return _IPY_Team.SwigPyIterator_previous(self)  | 
|     def advance(self, *args): return _IPY_Team.SwigPyIterator_advance(self, *args)  | 
|     def __eq__(self, *args): return _IPY_Team.SwigPyIterator___eq__(self, *args)  | 
|     def __ne__(self, *args): return _IPY_Team.SwigPyIterator___ne__(self, *args)  | 
|     def __iadd__(self, *args): return _IPY_Team.SwigPyIterator___iadd__(self, *args)  | 
|     def __isub__(self, *args): return _IPY_Team.SwigPyIterator___isub__(self, *args)  | 
|     def __add__(self, *args): return _IPY_Team.SwigPyIterator___add__(self, *args)  | 
|     def __sub__(self, *args): return _IPY_Team.SwigPyIterator___sub__(self, *args)  | 
|     def __iter__(self): return self  | 
| SwigPyIterator_swigregister = _IPY_Team.SwigPyIterator_swigregister  | 
| SwigPyIterator_swigregister(SwigPyIterator)  | 
|   | 
| class IntVector(_object):  | 
|     __swig_setmethods__ = {}  | 
|     __setattr__ = lambda self, name, value: _swig_setattr(self, IntVector, name, value)  | 
|     __swig_getmethods__ = {}  | 
|     __getattr__ = lambda self, name: _swig_getattr(self, IntVector, name)  | 
|     __repr__ = _swig_repr  | 
|     def iterator(self): return _IPY_Team.IntVector_iterator(self)  | 
|     def __iter__(self): return self.iterator()  | 
|     def __nonzero__(self): return _IPY_Team.IntVector___nonzero__(self)  | 
|     def __bool__(self): return _IPY_Team.IntVector___bool__(self)  | 
|     def __len__(self): return _IPY_Team.IntVector___len__(self)  | 
|     def pop(self): return _IPY_Team.IntVector_pop(self)  | 
|     def __getslice__(self, *args): return _IPY_Team.IntVector___getslice__(self, *args)  | 
|     def __setslice__(self, *args): return _IPY_Team.IntVector___setslice__(self, *args)  | 
|     def __delslice__(self, *args): return _IPY_Team.IntVector___delslice__(self, *args)  | 
|     def __delitem__(self, *args): return _IPY_Team.IntVector___delitem__(self, *args)  | 
|     def __getitem__(self, *args): return _IPY_Team.IntVector___getitem__(self, *args)  | 
|     def __setitem__(self, *args): return _IPY_Team.IntVector___setitem__(self, *args)  | 
|     def append(self, *args): return _IPY_Team.IntVector_append(self, *args)  | 
|     def empty(self): return _IPY_Team.IntVector_empty(self)  | 
|     def size(self): return _IPY_Team.IntVector_size(self)  | 
|     def clear(self): return _IPY_Team.IntVector_clear(self)  | 
|     def swap(self, *args): return _IPY_Team.IntVector_swap(self, *args)  | 
|     def get_allocator(self): return _IPY_Team.IntVector_get_allocator(self)  | 
|     def begin(self): return _IPY_Team.IntVector_begin(self)  | 
|     def end(self): return _IPY_Team.IntVector_end(self)  | 
|     def rbegin(self): return _IPY_Team.IntVector_rbegin(self)  | 
|     def rend(self): return _IPY_Team.IntVector_rend(self)  | 
|     def pop_back(self): return _IPY_Team.IntVector_pop_back(self)  | 
|     def erase(self, *args): return _IPY_Team.IntVector_erase(self, *args)  | 
|     def __init__(self, *args):   | 
|         this = _IPY_Team.new_IntVector(*args)  | 
|         try: self.this.append(this)  | 
|         except: self.this = this  | 
|     def push_back(self, *args): return _IPY_Team.IntVector_push_back(self, *args)  | 
|     def front(self): return _IPY_Team.IntVector_front(self)  | 
|     def back(self): return _IPY_Team.IntVector_back(self)  | 
|     def assign(self, *args): return _IPY_Team.IntVector_assign(self, *args)  | 
|     def resize(self, *args): return _IPY_Team.IntVector_resize(self, *args)  | 
|     def insert(self, *args): return _IPY_Team.IntVector_insert(self, *args)  | 
|     def reserve(self, *args): return _IPY_Team.IntVector_reserve(self, *args)  | 
|     def capacity(self): return _IPY_Team.IntVector_capacity(self)  | 
|     __swig_destroy__ = _IPY_Team.delete_IntVector  | 
|     __del__ = lambda self : None;  | 
| IntVector_swigregister = _IPY_Team.IntVector_swigregister  | 
| IntVector_swigregister(IntVector)  | 
|   | 
| class DoubleVector(_object):  | 
|     __swig_setmethods__ = {}  | 
|     __setattr__ = lambda self, name, value: _swig_setattr(self, DoubleVector, name, value)  | 
|     __swig_getmethods__ = {}  | 
|     __getattr__ = lambda self, name: _swig_getattr(self, DoubleVector, name)  | 
|     __repr__ = _swig_repr  | 
|     def iterator(self): return _IPY_Team.DoubleVector_iterator(self)  | 
|     def __iter__(self): return self.iterator()  | 
|     def __nonzero__(self): return _IPY_Team.DoubleVector___nonzero__(self)  | 
|     def __bool__(self): return _IPY_Team.DoubleVector___bool__(self)  | 
|     def __len__(self): return _IPY_Team.DoubleVector___len__(self)  | 
|     def pop(self): return _IPY_Team.DoubleVector_pop(self)  | 
|     def __getslice__(self, *args): return _IPY_Team.DoubleVector___getslice__(self, *args)  | 
|     def __setslice__(self, *args): return _IPY_Team.DoubleVector___setslice__(self, *args)  | 
|     def __delslice__(self, *args): return _IPY_Team.DoubleVector___delslice__(self, *args)  | 
|     def __delitem__(self, *args): return _IPY_Team.DoubleVector___delitem__(self, *args)  | 
|     def __getitem__(self, *args): return _IPY_Team.DoubleVector___getitem__(self, *args)  | 
|     def __setitem__(self, *args): return _IPY_Team.DoubleVector___setitem__(self, *args)  | 
|     def append(self, *args): return _IPY_Team.DoubleVector_append(self, *args)  | 
|     def empty(self): return _IPY_Team.DoubleVector_empty(self)  | 
|     def size(self): return _IPY_Team.DoubleVector_size(self)  | 
|     def clear(self): return _IPY_Team.DoubleVector_clear(self)  | 
|     def swap(self, *args): return _IPY_Team.DoubleVector_swap(self, *args)  | 
|     def get_allocator(self): return _IPY_Team.DoubleVector_get_allocator(self)  | 
|     def begin(self): return _IPY_Team.DoubleVector_begin(self)  | 
|     def end(self): return _IPY_Team.DoubleVector_end(self)  | 
|     def rbegin(self): return _IPY_Team.DoubleVector_rbegin(self)  | 
|     def rend(self): return _IPY_Team.DoubleVector_rend(self)  | 
|     def pop_back(self): return _IPY_Team.DoubleVector_pop_back(self)  | 
|     def erase(self, *args): return _IPY_Team.DoubleVector_erase(self, *args)  | 
|     def __init__(self, *args):   | 
|         this = _IPY_Team.new_DoubleVector(*args)  | 
|         try: self.this.append(this)  | 
|         except: self.this = this  | 
|     def push_back(self, *args): return _IPY_Team.DoubleVector_push_back(self, *args)  | 
|     def front(self): return _IPY_Team.DoubleVector_front(self)  | 
|     def back(self): return _IPY_Team.DoubleVector_back(self)  | 
|     def assign(self, *args): return _IPY_Team.DoubleVector_assign(self, *args)  | 
|     def resize(self, *args): return _IPY_Team.DoubleVector_resize(self, *args)  | 
|     def insert(self, *args): return _IPY_Team.DoubleVector_insert(self, *args)  | 
|     def reserve(self, *args): return _IPY_Team.DoubleVector_reserve(self, *args)  | 
|     def capacity(self): return _IPY_Team.DoubleVector_capacity(self)  | 
|     __swig_destroy__ = _IPY_Team.delete_DoubleVector  | 
|     __del__ = lambda self : None;  | 
| DoubleVector_swigregister = _IPY_Team.DoubleVector_swigregister  | 
| DoubleVector_swigregister(DoubleVector)  | 
|   | 
| class PairInt(_object):  | 
|     __swig_setmethods__ = {}  | 
|     __setattr__ = lambda self, name, value: _swig_setattr(self, PairInt, name, value)  | 
|     __swig_getmethods__ = {}  | 
|     __getattr__ = lambda self, name: _swig_getattr(self, PairInt, name)  | 
|     __repr__ = _swig_repr  | 
|     def __init__(self, *args):   | 
|         this = _IPY_Team.new_PairInt(*args)  | 
|         try: self.this.append(this)  | 
|         except: self.this = this  | 
|     __swig_setmethods__["first"] = _IPY_Team.PairInt_first_set  | 
|     __swig_getmethods__["first"] = _IPY_Team.PairInt_first_get  | 
|     if _newclass:first = _swig_property(_IPY_Team.PairInt_first_get, _IPY_Team.PairInt_first_set)  | 
|     __swig_setmethods__["second"] = _IPY_Team.PairInt_second_set  | 
|     __swig_getmethods__["second"] = _IPY_Team.PairInt_second_get  | 
|     if _newclass:second = _swig_property(_IPY_Team.PairInt_second_get, _IPY_Team.PairInt_second_set)  | 
|     def __len__(self): return 2  | 
|     def __repr__(self): return str((self.first, self.second))  | 
|     def __getitem__(self, index):   | 
|       if not (index % 2):   | 
|         return self.first  | 
|       else:  | 
|         return self.second  | 
|     def __setitem__(self, index, val):  | 
|       if not (index % 2):   | 
|         self.first = val  | 
|       else:  | 
|         self.second = val  | 
|     __swig_destroy__ = _IPY_Team.delete_PairInt  | 
|     __del__ = lambda self : None;  | 
| PairInt_swigregister = _IPY_Team.PairInt_swigregister  | 
| PairInt_swigregister(PairInt)  | 
|   | 
| class IPY_TeamMemberInfo(_object):  | 
|     __swig_setmethods__ = {}  | 
|     __setattr__ = lambda self, name, value: _swig_setattr(self, IPY_TeamMemberInfo, name, value)  | 
|     __swig_getmethods__ = {}  | 
|     __getattr__ = lambda self, name: _swig_getattr(self, IPY_TeamMemberInfo, name)  | 
|     __repr__ = _swig_repr  | 
|     def __init__(self):   | 
|         this = _IPY_Team.new_IPY_TeamMemberInfo()  | 
|         try: self.this.append(this)  | 
|         except: self.this = this  | 
|     __swig_destroy__ = _IPY_Team.delete_IPY_TeamMemberInfo  | 
|     __del__ = lambda self : None;  | 
|     def SetInstance(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetInstance(self, *args)  | 
|     def GetInstance(self): return _IPY_Team.IPY_TeamMemberInfo_GetInstance(self)  | 
|     def GetIndex(self): return _IPY_Team.IPY_TeamMemberInfo_GetIndex(self)  | 
|     def GetPlayerID(self): return _IPY_Team.IPY_TeamMemberInfo_GetPlayerID(self)  | 
|     def GetPlayerName(self): return _IPY_Team.IPY_TeamMemberInfo_GetPlayerName(self)  | 
|     def GetTeamLV(self): return _IPY_Team.IPY_TeamMemberInfo_GetTeamLV(self)  | 
|     def GetPlayer(self): return _IPY_Team.IPY_TeamMemberInfo_GetPlayer(self)  | 
|     def SetPlayer(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetPlayer(self, *args)  | 
|     def SetTeamLV(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetTeamLV(self, *args)  | 
|     def SetTeamID(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetTeamID(self, *args)  | 
|     def GetTeamID(self): return _IPY_Team.IPY_TeamMemberInfo_GetTeamID(self)  | 
|     def GetPlayerJob(self): return _IPY_Team.IPY_TeamMemberInfo_GetPlayerJob(self)  | 
|     def GetPlayerJobLevel(self): return _IPY_Team.IPY_TeamMemberInfo_GetPlayerJobLevel(self)  | 
|     def GetPlayerLV(self): return _IPY_Team.IPY_TeamMemberInfo_GetPlayerLV(self)  | 
|     def GetPlayerRealmLV(self): return _IPY_Team.IPY_TeamMemberInfo_GetPlayerRealmLV(self)  | 
|     def SetPlayerJob(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetPlayerJob(self, *args)  | 
|     def SetPlayerJobLevel(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetPlayerJobLevel(self, *args)  | 
|     def SetPlayerLV(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetPlayerLV(self, *args)  | 
|     def SetPlayerRealmLV(self, *args): return _IPY_Team.IPY_TeamMemberInfo_SetPlayerRealmLV(self, *args)  | 
| IPY_TeamMemberInfo_swigregister = _IPY_Team.IPY_TeamMemberInfo_swigregister  | 
| IPY_TeamMemberInfo_swigregister(IPY_TeamMemberInfo)  | 
|   | 
| class IPY_Team(_object):  | 
|     __swig_setmethods__ = {}  | 
|     __setattr__ = lambda self, name, value: _swig_setattr(self, IPY_Team, name, value)  | 
|     __swig_getmethods__ = {}  | 
|     __getattr__ = lambda self, name: _swig_getattr(self, IPY_Team, name)  | 
|     __repr__ = _swig_repr  | 
|     def __init__(self):   | 
|         this = _IPY_Team.new_IPY_Team()  | 
|         try: self.this.append(this)  | 
|         except: self.this = this  | 
|     __swig_destroy__ = _IPY_Team.delete_IPY_Team  | 
|     __del__ = lambda self : None;  | 
|     def SetInstance(self, *args): return _IPY_Team.IPY_Team_SetInstance(self, *args)  | 
|     def GetInstance(self): return _IPY_Team.IPY_Team_GetInstance(self)  | 
|     def AddMember(self, *args): return _IPY_Team.IPY_Team_AddMember(self, *args)  | 
|     def GetMemberCount(self): return _IPY_Team.IPY_Team_GetMemberCount(self)  | 
|     def GetMemberPlayer(self, *args): return _IPY_Team.IPY_Team_GetMemberPlayer(self, *args)  | 
|     def SetTeamType(self, *args): return _IPY_Team.IPY_Team_SetTeamType(self, *args)  | 
|     def GetTeamType(self): return _IPY_Team.IPY_Team_GetTeamType(self)  | 
|     def Sync_TeamTypeRefresh(self): return _IPY_Team.IPY_Team_Sync_TeamTypeRefresh(self)  | 
|     def GetTeamID(self): return _IPY_Team.IPY_Team_GetTeamID(self)  | 
|     def GetTagMapID(self): return _IPY_Team.IPY_Team_GetTagMapID(self)  | 
|     def GetTagMapEx(self): return _IPY_Team.IPY_Team_GetTagMapEx(self)  | 
|     def GetReqMinLV(self): return _IPY_Team.IPY_Team_GetReqMinLV(self)  | 
|     def GetReqMaxLV(self): return _IPY_Team.IPY_Team_GetReqMaxLV(self)  | 
|     def SetTagMapID(self, *args): return _IPY_Team.IPY_Team_SetTagMapID(self, *args)  | 
|     def SetTagMapEx(self, *args): return _IPY_Team.IPY_Team_SetTagMapEx(self, *args)  | 
|     def SetReqMinLV(self, *args): return _IPY_Team.IPY_Team_SetReqMinLV(self, *args)  | 
|     def SetReqMaxLV(self, *args): return _IPY_Team.IPY_Team_SetReqMaxLV(self, *args)  | 
|     def Sync_TeamState(self): return _IPY_Team.IPY_Team_Sync_TeamState(self)  | 
|     def IsTeamFull(self): return _IPY_Team.IPY_Team_IsTeamFull(self)  | 
|     def Sync_DismissTeam(self): return _IPY_Team.IPY_Team_Sync_DismissTeam(self)  | 
|     def GetTeamPlayerCount(self): return _IPY_Team.IPY_Team_GetTeamPlayerCount(self)  | 
|     def GetMemberInfo(self, *args): return _IPY_Team.IPY_Team_GetMemberInfo(self, *args)  | 
|     def GetMemberByID(self, *args): return _IPY_Team.IPY_Team_GetMemberByID(self, *args)  | 
|     def DeleteMember(self, *args): return _IPY_Team.IPY_Team_DeleteMember(self, *args)  | 
|     def Sync_LeaveTeam(self, *args): return _IPY_Team.IPY_Team_Sync_LeaveTeam(self, *args)  | 
|     def NotifyCode(self, *args): return _IPY_Team.IPY_Team_NotifyCode(self, *args)  | 
|     def Sync_OtherTeamMemberInfoToCurPlayer(self, *args): return _IPY_Team.IPY_Team_Sync_OtherTeamMemberInfoToCurPlayer(self, *args)  | 
|     def SetTeamFBMapID(self, *args): return _IPY_Team.IPY_Team_SetTeamFBMapID(self, *args)  | 
|     def GetTeamFBMapID(self): return _IPY_Team.IPY_Team_GetTeamFBMapID(self)  | 
|     def SetTeamFBMapFBID(self, *args): return _IPY_Team.IPY_Team_SetTeamFBMapFBID(self, *args)  | 
|     def GetTeamFBMapFBID(self): return _IPY_Team.IPY_Team_GetTeamFBMapFBID(self)  | 
| IPY_Team_swigregister = _IPY_Team.IPY_Team_swigregister  | 
| IPY_Team_swigregister(IPY_Team)  | 
|   | 
| class IPY_TeamManager(_object):  | 
|     __swig_setmethods__ = {}  | 
|     __setattr__ = lambda self, name, value: _swig_setattr(self, IPY_TeamManager, name, value)  | 
|     __swig_getmethods__ = {}  | 
|     __getattr__ = lambda self, name: _swig_getattr(self, IPY_TeamManager, name)  | 
|     __repr__ = _swig_repr  | 
|     def __init__(self):   | 
|         this = _IPY_Team.new_IPY_TeamManager()  | 
|         try: self.this.append(this)  | 
|         except: self.this = this  | 
|     __swig_destroy__ = _IPY_Team.delete_IPY_TeamManager  | 
|     __del__ = lambda self : None;  | 
|     def SetInstance(self, *args): return _IPY_Team.IPY_TeamManager_SetInstance(self, *args)  | 
|     def SetMaxTeamMemberCount(self, *args): return _IPY_Team.IPY_TeamManager_SetMaxTeamMemberCount(self, *args)  | 
|     def GetMaxTeamMemberCount(self): return _IPY_Team.IPY_TeamManager_GetMaxTeamMemberCount(self)  | 
|     def CreateTeam(self, *args): return _IPY_Team.IPY_TeamManager_CreateTeam(self, *args)  | 
|     def FindTeam(self, *args): return _IPY_Team.IPY_TeamManager_FindTeam(self, *args)  | 
|     def DeleteTeam(self, *args): return _IPY_Team.IPY_TeamManager_DeleteTeam(self, *args)  | 
|     def FindTeamMemberIndex(self, *args): return _IPY_Team.IPY_TeamManager_FindTeamMemberIndex(self, *args)  | 
|     def AddToSceneTeamIndex(self, *args): return _IPY_Team.IPY_TeamManager_AddToSceneTeamIndex(self, *args)  | 
|     def DeleteFromSceneTeamIndex(self, *args): return _IPY_Team.IPY_TeamManager_DeleteFromSceneTeamIndex(self, *args)  | 
|     def SceneTeamCount(self, *args): return _IPY_Team.IPY_TeamManager_SceneTeamCount(self, *args)  | 
|     def GetSceneTeamByIndex(self, *args): return _IPY_Team.IPY_TeamManager_GetSceneTeamByIndex(self, *args)  | 
|     def GetSceneTeamByCaptainID(self, *args): return _IPY_Team.IPY_TeamManager_GetSceneTeamByCaptainID(self, *args)  | 
|     def GetSceneTeanCaptain(self, *args): return _IPY_Team.IPY_TeamManager_GetSceneTeanCaptain(self, *args)  | 
|     def RefreshScenceTeamIndex(self): return _IPY_Team.IPY_TeamManager_RefreshScenceTeamIndex(self)  | 
| IPY_TeamManager_swigregister = _IPY_Team.IPY_TeamManager_swigregister  | 
| IPY_TeamManager_swigregister(IPY_TeamManager)  | 
|   | 
| # This file is compatible with both classic and new-style classes.  | 
|   | 
|   |