//+------------------------------------------------------------------------
//
//  Microsoft Windows
//  Copyright (C) Microsoft Corporation.  All Rights Reserved.
//
//  File:       iextag.idl
//
//  Abstract:   This file will be processed by the MIDL tool to
//              produce the type library (iextag.tlb) and marshalling code.

//-------------------------------------------------------------------------

cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// iextag.h")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("// (C) Copyright Microsoft Corporation.  All Rights Reserved.")
cpp_quote("//")
cpp_quote("// THIS CODE AND INFORMATION IS PROVIDED \"AS IS\" WITHOUT WARRANTY OF")
cpp_quote("// ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO")
cpp_quote("// THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A")
cpp_quote("// PARTICULAR PURPOSE.")
cpp_quote("//=--------------------------------------------------------------------------=")
cpp_quote("")

import "oaidl.idl";
import "ocidl.idl";

    [
    
        uuid(6663F9D3-B482-11d1-89C6-00C04FB6BFC4),
        helpstring("IPeerFactory Interface"),
        pointer_default(unique)
    ]
    interface IPeerFactory : IUnknown
    {
    };

    [
        object,
        uuid(766BF2AF-D650-11d1-9811-00C04FC31D2E),
        dual,
        helpstring("IHomePage Interface"),
        pointer_default(unique)
    ]
    interface IHomePage : IDispatch
    {
        [id(1)] HRESULT navigateHomePage();
        [id(2)] HRESULT setHomePage([in] BSTR bstrURL);
        [id(3)] HRESULT isHomePage([in] BSTR bstrURL, [out, retval] VARIANT_BOOL* p);
        
    };

    [
        object,
        uuid(7E8BC44D-AEFF-11D1-89C2-00C04FB6BFC4),
        dual,
        helpstring("IClientCaps Interface"),
        pointer_default(unique)
    ]
    interface IClientCaps : IDispatch
    {
        [propget, id(1)]  HRESULT javaEnabled([out, retval] VARIANT_BOOL *pVal);
        [propget, id(2)]  HRESULT cookieEnabled([out, retval] VARIANT_BOOL *pVal);
        [propget, id(3)]  HRESULT cpuClass([retval, out] BSTR * p);
        [propget, id(4)]  HRESULT systemLanguage([retval, out] BSTR * p);
        [propget, id(6)]  HRESULT userLanguage([retval, out] BSTR * p);
        [propget, id(7)]  HRESULT platform([retval, out] BSTR * p);
        [propget, id(9)]  HRESULT connectionSpeed([retval, out] long * p);
        [propget, id(10)] HRESULT onLine([retval, out] VARIANT_BOOL * p);
        [propget, id(11)] HRESULT colorDepth([retval, out] long * p);
        [propget, id(12)] HRESULT bufferDepth([retval, out] long * p);
        [propget, id(13)] HRESULT width([retval, out] long * p);
        [propget, id(14)] HRESULT height([retval, out] long * p);
        [propget, id(15)] HRESULT availHeight([retval, out] long * p);
        [propget, id(16)] HRESULT availWidth([retval, out] long * p);
        [propget, id(17)] HRESULT connectionType([retval, out] BSTR * p);
        [id(18)] HRESULT isComponentInstalled([in] BSTR bstrName, [in]BSTR bstrType, [defaultvalue(""),in]BSTR bStrVer, [out, retval] VARIANT_BOOL* p);
        [id(19)] HRESULT getComponentVersion([in] BSTR bstrName, [in] BSTR bstrType, [out,retval] BSTR* pbstrVer);
        [id(20)] HRESULT compareVersions([in] BSTR bstrVer1, [in] BSTR bstrVer2, [out, retval] long *p);
        [id(21)] HRESULT addComponentRequest([in]BSTR bstrName, [in]BSTR bstrType, [defaultvalue(""),in]BSTR bstrVer);
        [id(22)] HRESULT doComponentRequest([out, retval] VARIANT_BOOL* p);
        [id(23)] HRESULT clearComponentRequest();
    };

    [
        object,
        uuid(9B9F68E6-1AAA-11d2-BCA5-00C04FD929DB),
        dual,
        pointer_default(unique)
    ]
    interface IIntelliForms : IDispatch
    {
        [propget, id(1)]  HRESULT enabled([out, retval] VARIANT_BOOL *pVal);
        [propput, id(1)]  HRESULT enabled([in] VARIANT_BOOL bVal);
    }

    [
        object,
        uuid(BAE31F98-1B81-11D2-A97A-00C04F8ECB02),
        dual,
        helpstring("Iwfolders Interface"),
        pointer_default(unique)
    ]
    interface Iwfolders : IDispatch
    {
        [id(1), helpstring("method navigate")] 
                HRESULT navigate([in] BSTR bstrUrl,[retval, out] BSTR * pbstrRetVal);
        [id(2), helpstring("method navigateFrame")] 
                HRESULT navigateFrame([in] BSTR bstrUrl, 
                                      [in] BSTR bstrTargetFrame,
                                      //bug#50463 [in] BSTR bstrProtocol,
                                      [retval, out] BSTR * pbstrRetVal);
        [id(3)] HRESULT navigateNoSite ([in] BSTR bstrUrl,
                                        [in] BSTR bstrTargetFrame,
                                        //bug#50463 [in] BSTR bstrProtocol,
                                        [in] DWORD dwhwnd,
                                        [in] IUnknown * pwb);
    };      


    [
        object,
        uuid(13D5413B-33B9-11D2-95A7-00C04F8ECB02),
        dual,
        helpstring("IAnchorClick Interface"),
        pointer_default(unique)
    ]
    interface IAnchorClick : IDispatch
    {
        [id(1), helpstring("ProcOnClick navigate")] 
                HRESULT ProcOnClick();
    };

    [
        hidden,
        uuid(3050f4c7-98b5-11cf-bb82-00aa00bdce0b)
    ]
    dispinterface HTMLPersistEvents
    {
    properties:
    methods:
        [id(1)] void onsave();
        [id(2)] void onload();
    };
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f48f-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface IHTMLUserDataOM : IDispatch
    {
        [propget, id(1)] HRESULT XMLDocument([retval, out] IDispatch* * p);
        [id(2)] HRESULT save([in] BSTR strName);
        [id(3)] HRESULT load([in] BSTR strName);
        [id(4)] HRESULT getAttribute([in] BSTR name,[retval, out] VARIANT* pValue);
        [id(5)] HRESULT setAttribute([in] BSTR name,[in] VARIANT value);
        [id(6)] HRESULT removeAttribute([in] BSTR name);
        [propput, id(7)] HRESULT expires([in] BSTR bstr);
        [propget, id(7)] HRESULT expires([retval, out] BSTR * pbstr);
    };
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f4c0-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface IHTMLPersistDataOM : IDispatch
    {
        [propget, id(3)] HRESULT XMLDocument([retval, out] IDispatch* * p);
        [id(4)] HRESULT getAttribute([in] BSTR name,[retval, out] VARIANT* pValue);
        [id(5)] HRESULT setAttribute([in] BSTR name,[in] VARIANT value);
        [id(6)] HRESULT removeAttribute([in] BSTR name);
    };
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f4c5-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface IHTMLPersistData : IUnknown
    {
        [id(1)] HRESULT save([in] IUnknown* pUnk,[in] long lType,[retval, out] VARIANT_BOOL* fContinueBroacast);
        [id(2)] HRESULT load([in] IUnknown* pUnk,[in] long lType,[retval, out] VARIANT_BOOL* fDoDefault);
        [id(3)] HRESULT queryType([in] long lType,[retval, out] VARIANT_BOOL* pfSupportsType);
    };


    [
        odl,
        oleautomation,
        dual,
        uuid(3050f5bd-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface IDownloadBehavior : IDispatch
    {
        [id(1)] HRESULT startDownload([in] BSTR bstrUrl, [in] IDispatch* pdispCallback);
    };
    //-----------------------------------------------------------
    [
        hidden,
        uuid(3050f674-98b5-11cf-bb82-00aa00bdce0b)
    ]
    dispinterface LayoutRectEvents
    {
    properties:
    methods:
        [id(1)] void onpage();
        [id(2)] void onlayoutcomplete();
    };
    //-----------------------------------------------------------
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f665-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface ILayoutRect : IDispatch
    {
        [propput, id(1)] HRESULT nextRect([in]          BSTR   bstrElementId);
        [propget, id(1)] HRESULT nextRect([retval, out] BSTR * pbstrElementId);
        [propput, id(2)] HRESULT contentSrc([in]          VARIANT   varContentSrc);
        [propget, id(2)] HRESULT contentSrc([retval, out] VARIANT * pvarContentSrc);
		[propput, id(3)] HRESULT honorPageBreaks([in]         VARIANT_BOOL   v);
		[propget, id(3)] HRESULT honorPageBreaks([retval, out]VARIANT_BOOL * p);
		[propput, id(4)] HRESULT honorPageRules([in]          VARIANT_BOOL   v);
		[propget, id(4)] HRESULT honorPageRules([retval, out] VARIANT_BOOL * p);
		[propput, id(5)] HRESULT nextRectElement([in]          IDispatch  * pElem );
		[propget, id(5)] HRESULT nextRectElement([retval, out] IDispatch ** ppElem);
		[propget, id(6)] HRESULT contentDocument([retval, out] IDispatch ** pDoc);
    };
    //-----------------------------------------------------------
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f6d5-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface IDeviceRect : IDispatch
    {
    };
    //-----------------------------------------------------------
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f6b4-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface ITemplatePrinter : IDispatch
    {
		[id(1)] HRESULT startDoc([in] BSTR bstrTitle, [retval, out] VARIANT_BOOL *p);
		[id(2)] HRESULT stopDoc();
		[id(3)] HRESULT printBlankPage();
		[id(4)] HRESULT printPage([in] IDispatch *pElemDisp);
		[id(5)] HRESULT ensurePrintDialogDefaults([retval, out] VARIANT_BOOL *p);
		[id(6)] HRESULT showPrintDialog([retval, out] VARIANT_BOOL *p);
		[id(7)] HRESULT showPageSetupDialog([retval, out] VARIANT_BOOL *p);
		[id(8)] HRESULT printNonNative([in] IUnknown *pMarkup, [retval, out] VARIANT_BOOL *p);
		[id(9)] HRESULT printNonNativeFrames([in] IUnknown *pMarkup, [in] VARIANT_BOOL fActiveFrame);
		[propput, id(10)] HRESULT framesetDocument([in] VARIANT_BOOL v);
		[propget, id(10)] HRESULT framesetDocument([retval, out] VARIANT_BOOL *p);   
		[propput, id(11)] HRESULT frameActive([in] VARIANT_BOOL v);
		[propget, id(11)] HRESULT frameActive([retval, out] VARIANT_BOOL *p);
		[propput, id(12)] HRESULT frameAsShown([in] VARIANT_BOOL v);
		[propget, id(12)] HRESULT frameAsShown([retval, out] VARIANT_BOOL *p);
		[propput, id(13)] HRESULT selection([in] VARIANT_BOOL v);
		[propget, id(13)] HRESULT selection([retval, out] VARIANT_BOOL *p);
		[propput, id(14)] HRESULT selectedPages([in] VARIANT_BOOL v);
		[propget, id(14)] HRESULT selectedPages([retval, out] VARIANT_BOOL *p);
		[propput, id(15)] HRESULT currentPage([in] VARIANT_BOOL v);
		[propget, id(15)] HRESULT currentPage([retval, out] VARIANT_BOOL *p);
		[propput, id(16)] HRESULT currentPageAvail([in] VARIANT_BOOL v);
		[propget, id(16)] HRESULT currentPageAvail([retval, out] VARIANT_BOOL *p);
		[propput, id(17)] HRESULT collate([in] VARIANT_BOOL v);
		[propget, id(17)] HRESULT collate([retval, out] VARIANT_BOOL *p);		
		[propget, id(18)] HRESULT duplex([retval, out] VARIANT_BOOL *p);		
		[propput, id(19)] HRESULT copies([in] WORD v);
		[propget, id(19)] HRESULT copies([retval, out] WORD *p);
		[propput, id(20)] HRESULT pageFrom([in] WORD v);
		[propget, id(20)] HRESULT pageFrom([retval, out] WORD *p);
		[propput, id(21)] HRESULT pageTo([in] WORD v);
		[propget, id(21)] HRESULT pageTo([retval, out] WORD *p);
		[propput, id(22)] HRESULT tableOfLinks([in] VARIANT_BOOL v);
		[propget, id(22)] HRESULT tableOfLinks([retval, out] VARIANT_BOOL *p);
		[propput, id(23)] HRESULT allLinkedDocuments([in] VARIANT_BOOL v);
		[propget, id(23)] HRESULT allLinkedDocuments([retval, out] VARIANT_BOOL *p);
		[propput, id(24)] HRESULT header([in] BSTR bstrHeader);
		[propget, id(24)] HRESULT header([retval, out] BSTR *bstrHeader);
		[propput, id(25)] HRESULT footer([in] BSTR bstrFooter);
		[propget, id(25)] HRESULT footer([retval, out] BSTR *bstrFooter);
		[propput, id(26)] HRESULT marginLeft([in] long v);
		[propget, id(26)] HRESULT marginLeft([retval, out] long *p);
		[propput, id(27)] HRESULT marginRight([in] long v);
		[propget, id(27)] HRESULT marginRight([retval, out] long *p);
		[propput, id(28)] HRESULT marginTop([in] long v);
		[propget, id(28)] HRESULT marginTop([retval, out] long *p);
		[propput, id(29)] HRESULT marginBottom([in] long v);
		[propget, id(29)] HRESULT marginBottom([retval, out] long *p);
		[propget, id(30)] HRESULT pageWidth([retval, out] long *p);
		[propget, id(31)] HRESULT pageHeight([retval, out] long *p);
		[propget, id(32)] HRESULT unprintableLeft([retval, out] long *p);
		[propget, id(33)] HRESULT unprintableTop([retval, out] long *p);
		[propget, id(34)] HRESULT unprintableRight([retval, out] long *p);
		[propget, id(35)] HRESULT unprintableBottom([retval, out] long *p);	
		[id(36)] HRESULT updatePageStatus([in] long *p);	
	};
    //-----------------------------------------------------------
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f83f-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface ITemplatePrinter2 : ITemplatePrinter
    {
		[propput, id(37)] HRESULT selectionEnabled([in] VARIANT_BOOL v);
		[propget, id(37)] HRESULT selectionEnabled([retval, out] VARIANT_BOOL *p);
		[propput, id(38)] HRESULT frameActiveEnabled([in] VARIANT_BOOL v);
		[propget, id(38)] HRESULT frameActiveEnabled([retval, out] VARIANT_BOOL *p);
		[propput, id(39)] HRESULT orientation([in] BSTR v);
		[propget, id(39)] HRESULT orientation([retval, out] BSTR *p);
		[propput, id(40)] HRESULT usePrinterCopyCollate([in] VARIANT_BOOL v);
		[propget, id(40)] HRESULT usePrinterCopyCollate([retval, out] VARIANT_BOOL *p);
		[id(41)] HRESULT deviceSupports([in] BSTR bstrProperty, [retval, out] VARIANT *pvar);
	};
    //-----------------------------------------------------------
    [
        odl,
        oleautomation,
        dual,
        uuid(305104a3-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface ITemplatePrinter3 : ITemplatePrinter2
    {
		[propput, id(42)] HRESULT headerFooterFont([in] BSTR bstrFooter);
		[propget, id(42)] HRESULT headerFooterFont([retval, out] BSTR *bstrFooter);
        [id(43)] HRESULT getPageMarginTop([in] IDispatch *pageRule, [in] long pageWidth, [in] long pageHeight, [out,retval] VARIANT* pMargin);
        [id(44)] HRESULT getPageMarginRight([in] IDispatch *pageRule, [in] long pageWidth, [in] long pageHeight, [out,retval] VARIANT* pMargin);
        [id(45)] HRESULT getPageMarginBottom([in] IDispatch *pageRule, [in] long pageWidth, [in] long pageHeight, [out,retval] VARIANT* pMargin);
        [id(46)] HRESULT getPageMarginLeft([in] IDispatch *pageRule, [in] long pageWidth, [in] long pageHeight, [out,retval] VARIANT* pMargin);
        [id(47)] HRESULT getPageMarginTopImportant([in] IDispatch *pageRule, [out,retval] VARIANT_BOOL* pbImportant);
        [id(48)] HRESULT getPageMarginRightImportant([in] IDispatch *pageRule, [out,retval] VARIANT_BOOL* pbImportant);
        [id(49)] HRESULT getPageMarginBottomImportant([in] IDispatch *pageRule, [out,retval] VARIANT_BOOL* pbImportant);
        [id(50)] HRESULT getPageMarginLeftImportant([in] IDispatch *pageRule, [out,retval] VARIANT_BOOL* pbImportant);
    };
    //-----------------------------------------------------------
    [
        odl,
        oleautomation,
        dual,
        uuid(3050f6ce-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface IHeaderFooter : IDispatch
    {
        [propget, id(1)] HRESULT htmlHead([retval, out] BSTR * p);
        [propget, id(2)] HRESULT htmlFoot([retval, out] BSTR * p);
        [propput, id(3)] HRESULT textHead([in] BSTR v);
        [propget, id(3)] HRESULT textHead([retval, out] BSTR * p);
        [propput, id(4)] HRESULT textFoot([in] BSTR v);
        [propget, id(4)] HRESULT textFoot([retval, out] BSTR * p);
        [propput, id(5)] HRESULT page([in] DWORD v);
        [propget, id(5)] HRESULT page([retval, out] DWORD * p);
        [propput, id(6)] HRESULT pageTotal([in] DWORD v);
        [propget, id(6)] HRESULT pageTotal([retval, out] DWORD * p);
        [propput, id(7)] HRESULT URL([in] BSTR v);
        [propget, id(7)] HRESULT URL([retval, out] BSTR * p);
        [propput, id(8)] HRESULT title([in] BSTR v);
        [propget, id(8)] HRESULT title([retval, out] BSTR * p);
        [propput, id(9)] HRESULT dateShort([in] BSTR v);
        [propget, id(9)] HRESULT dateShort([retval, out] BSTR * p);
        [propput, id(10)] HRESULT dateLong([in] BSTR v);
        [propget, id(10)] HRESULT dateLong([retval, out] BSTR * p);
        [propput, id(11)] HRESULT timeShort([in] BSTR v);
        [propget, id(11)] HRESULT timeShort([retval, out] BSTR * p);
        [propput, id(12)] HRESULT timeLong([in] BSTR v);
        [propget, id(12)] HRESULT timeLong([retval, out] BSTR * p);
	};
    //-----------------------------------------------------------
    [
        odl,
        oleautomation,
        dual,
        uuid(305104a5-98b5-11cf-bb82-00aa00bdce0b)
    ]
    interface IHeaderFooter2 : IHeaderFooter
    {
        [propput, id(13)] HRESULT font([in] BSTR v);
        [propget, id(13)] HRESULT font([retval, out] BSTR * p);
	};    //-----------------------------------------------------------

[
    uuid(7E8BC440-AEFF-11D1-89C2-00C04FB6BFC4),
    version(1.0),
    helpstring("iextag 1.0 Type Library")
]
library IEXTagLib
{
    importlib("stdole2.tlb");

    //-------------------------------------------------
    [
        uuid(3050F4CF-98B5-11CF-BB82-00AA00BDCE0B),
        helpstring("PeerFactory Class")
    ]
    coclass PeerFactory
    {
        [default] interface IPeerFactory;
    };
    //-------------------------------------------------
    [
        uuid(7E8BC44E-AEFF-11D1-89C2-00C04FB6BFC4),
        helpstring("ClientCaps Class")
    ]
    coclass ClientCaps
    {
        [default] interface IClientCaps;
    };
    //-------------------------------------------------
    [
        uuid(613AB92E-16BF-11d2-BCA5-00C04FD929DB),
        noncreatable
    ]
    coclass IntelliForms
    {
        [default] interface IIntelliForms;
    }
    //-------------------------------------------------
    [
        uuid(766BF2AE-D650-11d1-9811-00C04FC31D2E)
    ]
    coclass HomePage
    {
        [default] interface IHomePage;
    };
    //-------------------------------------------------
    [
        uuid(3050f48e-98b5-11cf-bb82-00aa00bdce0b),
        noncreatable
    ]
    coclass CPersistUserData
    {
        [default]           interface IHTMLUserDataOM;
        [source, default]   dispinterface HTMLPersistEvents;
    };
    //-------------------------------------------------
    [
        uuid(3050f487-98b5-11cf-bb82-00aa00bdce0b),
        noncreatable
    ]
    coclass CPersistDataPeer
    {
        [default]           interface IHTMLPersistDataOM;
        [source, default]   dispinterface HTMLPersistEvents;
                            interface IHTMLPersistData;
    };
    //-------------------------------------------------
    [
        uuid(3050f4c6-98b5-11cf-bb82-00aa00bdce0b),
        noncreatable
    ]
    coclass CPersistShortcut
    {
        [default]           interface IHTMLPersistDataOM;
        [source, default]   dispinterface HTMLPersistEvents;
                            interface IHTMLPersistData;
    };
    //-------------------------------------------------
    [
        uuid(3050f4c8-98b5-11cf-bb82-00aa00bdce0b),
        noncreatable
    ]
    coclass CPersistHistory
    {
        [default]           interface IHTMLPersistDataOM;
        [source, default]   dispinterface HTMLPersistEvents;
                            interface IHTMLPersistData;
    };
    //-------------------------------------------------
    [
        uuid(3050f4c9-98b5-11cf-bb82-00aa00bdce0b),
        noncreatable
    ]
    coclass CPersistSnapshot
    {
        [default]           interface IHTMLPersistDataOM;
        [source, default]   dispinterface HTMLPersistEvents;
                            interface IHTMLPersistData;
    };
    //-------------------------------------------------
    [
        uuid(3050f5be-98b5-11cf-bb82-00aa00bdce0b)
    ]
    coclass CDownloadBehavior
    {
        [default]           interface IDownloadBehavior;
    };
    //-------------------------------------------------
    [
        uuid(BAE31F9A-1B81-11D2-A97A-00C04F8ECB02),
        helpstring("Web Folders Class"),
        noncreatable
    ]
    coclass wfolders
    {
        [default] interface Iwfolders;
    };
    //-------------------------------------------------
    [
        uuid(13D5413C-33B9-11D2-95A7-00C04F8ECB02),
        helpstring("AnchorClick Class"),
        noncreatable
    ]
    coclass AnchorClick
    {
        [default] interface IAnchorClick;
    };
    //-------------------------------------------------
    [
        uuid(3050f664-98b5-11cf-bb82-00aa00bdce0b),
    ]
    coclass CLayoutRect
    {
        [default]         interface     ILayoutRect;
        [source, default] dispinterface LayoutRectEvents;
    };
    //-------------------------------------------------
    [
        uuid(3050f6d4-98b5-11cf-bb82-00aa00bdce0b),
    ]
    coclass CDeviceRect
    {
        [default]         interface     IDeviceRect;
    };
    //-------------------------------------------------
    [
        uuid(3050f6b3-98b5-11cf-bb82-00aa00bdce0b),
    ]
    coclass CTemplatePrinter
    {
        [default]         interface     ITemplatePrinter3;
    };
    //-------------------------------------------------
    [
        uuid(3050f6cd-98b5-11cf-bb82-00aa00bdce0b),
    ]
    coclass CHeaderFooter
    {
        [default]         interface     IHeaderFooter2;
    };

};

