<?xml version="1.0"?> 
<!-- Providers file for default Smack extensions -->
<smackProviders> 
    
    <!-- Message Events -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:event</namespace>
        <className>org.jivesoftware.smackx.provider.MessageEventProvider</className>
    </extensionProvider>

    <!-- Chat State -->
    <extensionProvider>
        <elementName>active</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>composing</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>paused</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>inactive</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>gone</elementName>
        <namespace>http://jabber.org/protocol/chatstates</namespace>
        <className>org.jivesoftware.smackx.packet.ChatStateExtension$Provider</className>
    </extensionProvider>
    
    <!-- Service Discovery # Items -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>http://jabber.org/protocol/disco#items</namespace> 
        <className>org.jivesoftware.smackx.provider.DiscoverItemsProvider</className> 
    </iqProvider>

    <!-- Service Discovery # Info -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>http://jabber.org/protocol/disco#info</namespace>
        <className>org.jivesoftware.smackx.provider.DiscoverInfoProvider</className>
    </iqProvider>

    <!-- Data Forms-->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:data</namespace>
        <className>org.jivesoftware.smackx.provider.DataFormProvider</className>
    </extensionProvider>

    <!-- MUC User -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>http://jabber.org/protocol/muc#user</namespace>
        <className>org.jivesoftware.smackx.provider.MUCUserProvider</className>
    </extensionProvider>

    <!-- MUC Admin -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>http://jabber.org/protocol/muc#admin</namespace> 
        <className>org.jivesoftware.smackx.provider.MUCAdminProvider</className> 
    </iqProvider>

    <!-- MUC Owner -->
    <iqProvider> 
        <elementName>query</elementName> 
        <namespace>http://jabber.org/protocol/muc#owner</namespace> 
        <className>org.jivesoftware.smackx.provider.MUCOwnerProvider</className> 
    </iqProvider>

    <!-- Delayed Delivery -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>jabber:x:delay</namespace>
        <className>org.jivesoftware.smackx.provider.DelayInformationProvider</className>
    </extensionProvider>
    
    <extensionProvider>
    	<elementName>delay</elementName>
        <namespace>urn:xmpp:delay</namespace>
        <className>org.jivesoftware.smackx.provider.DelayInfoProvider</className>
    </extensionProvider>

    <!-- VCard -->
    <iqProvider>
        <elementName>vCard</elementName>
        <namespace>vcard-temp</namespace>
        <className>com.xabber.xmpp.vcard.VCardProvider</className>
    </iqProvider>

    <!-- Offline Message Requests -->
    <iqProvider>
        <elementName>offline</elementName>
        <namespace>http://jabber.org/protocol/offline</namespace>
        <className>org.jivesoftware.smackx.packet.OfflineMessageRequest$Provider</className>
    </iqProvider>

    <!-- Offline Message Indicator -->
    <extensionProvider>
        <elementName>offline</elementName>
        <namespace>http://jabber.org/protocol/offline</namespace>
        <className>org.jivesoftware.smackx.packet.OfflineMessageInfo$Provider</className>
    </extensionProvider>

    <!-- User Search -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>jabber:iq:search</namespace>
        <className>org.jivesoftware.smackx.search.UserSearch$Provider</className>
    </iqProvider>

    <!-- FileTransfer -->
    <iqProvider>
    	<elementName>si</elementName>
    	<namespace>http://jabber.org/protocol/si</namespace>
    	<className>org.jivesoftware.smackx.provider.StreamInitiationProvider</className>
    </iqProvider>

    <iqProvider>
    	<elementName>query</elementName>
    	<namespace>http://jabber.org/protocol/bytestreams</namespace>
    	<className>org.jivesoftware.smackx.bytestreams.socks5.provider.BytestreamsProvider</className>
    </iqProvider>

    <iqProvider>
    	<elementName>open</elementName>
    	<namespace>http://jabber.org/protocol/ibb</namespace>
    	<className>org.jivesoftware.smackx.bytestreams.ibb.provider.OpenIQProvider</className>
    </iqProvider>

    <iqProvider>
      <elementName>data</elementName>
      <namespace>http://jabber.org/protocol/ibb</namespace>
      <className>org.jivesoftware.smackx.bytestreams.ibb.provider.DataPacketProvider</className>
    </iqProvider>

    <iqProvider>
    	<elementName>close</elementName>
    	<namespace>http://jabber.org/protocol/ibb</namespace>
    	<className>org.jivesoftware.smackx.bytestreams.ibb.provider.CloseIQProvider</className>
    </iqProvider>
    
    <extensionProvider>
        <elementName>data</elementName>
        <namespace>http://jabber.org/protocol/ibb</namespace>
        <className>org.jivesoftware.smackx.bytestreams.ibb.provider.DataPacketProvider</className>
    </extensionProvider>

    <!-- Privacy -->
    <iqProvider>
        <elementName>query</elementName>
        <namespace>jabber:iq:privacy</namespace>
        <className>org.jivesoftware.smack.provider.PrivacyProvider</className>
    </iqProvider>

    <!-- Ping -->
    <iqProvider>
        <elementName>ping</elementName>
        <namespace>urn:xmpp:ping</namespace>
        <className>org.jivesoftware.smackx.packet.Ping</className>
    </iqProvider>

    <!-- vCardUpdate -->
    <extensionProvider>
        <elementName>x</elementName>
        <namespace>vcard-temp:x:update</namespace>
        <className>com.xabber.xmpp.avatar.VCardUpdateProvider</className>
    </extensionProvider>

    <!-- Message Delivery Receipts -->
    <extensionProvider>
        <elementName>request</elementName>
        <namespace>urn:xmpp:receipts</namespace>
        <className>com.xabber.xmpp.receipt.RequestProvider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>received</elementName>
        <namespace>urn:xmpp:receipts</namespace>
        <className>com.xabber.xmpp.receipt.ReceivedProvider</className>
    </extensionProvider>

    <!-- Result Set Management -->
    <extensionProvider>
        <elementName>set</elementName>
        <namespace>http://jabber.org/protocol/rsm</namespace>
        <className>com.xabber.xmpp.rsm.SetProvider</className>
    </extensionProvider>

    <!-- Stanza Session Negotiation -->
    <extensionProvider>
        <elementName>feature</elementName>
        <namespace>http://jabber.org/protocol/feature-neg</namespace>
        <className>com.xabber.xmpp.ssn.FeatureProvider</className>
    </extensionProvider>

    <!-- Message archive -->
    <iqProvider>
        <elementName>pref</elementName>
        <namespace>urn:xmpp:archive</namespace>
        <className>com.xabber.xmpp.archive.PrefProvider</className>
    </iqProvider>

    <iqProvider>
        <elementName>chat</elementName>
        <namespace>urn:xmpp:archive</namespace>
        <className>com.xabber.xmpp.archive.ChatProvider</className>
    </iqProvider>

    <iqProvider>
        <elementName>list</elementName>
        <namespace>urn:xmpp:archive</namespace>
        <className>com.xabber.xmpp.archive.ListProvider</className>
    </iqProvider>

    <iqProvider>
        <elementName>modified</elementName>
        <namespace>urn:xmpp:archive</namespace>
        <className>com.xabber.xmpp.archive.ModifiedProvider</className>
    </iqProvider>

    <!-- Entity Time -->
    <iqProvider>
        <elementName>time</elementName>
        <namespace>urn:xmpp:time</namespace>
        <className>com.xabber.xmpp.time.TimeProvider</className>
    </iqProvider>

    <!-- Attention -->
    <extensionProvider>
        <elementName>attention</elementName>
        <namespace>urn:xmpp:attention:0</namespace>
        <className>com.xabber.xmpp.attention.AttentionProvider</className>
    </extensionProvider>

	<!-- Message Carbons -->
    <extensionProvider>
        <elementName>sent</elementName>
        <namespace>urn:xmpp:carbons:2</namespace>
        <className>com.xabber.xmpp.carbon.SentProvider</className>
    </extensionProvider>

    <extensionProvider>
        <elementName>received</elementName>
        <namespace>urn:xmpp:carbons:2</namespace>
        <className>com.xabber.xmpp.carbon.ReceivedProvider</className>
    </extensionProvider>
    
    <extensionProvider>
        <elementName>private</elementName>
        <namespace>urn:xmpp:carbons:2</namespace>
        <className>com.xabber.xmpp.carbon.PrivateProvider</className>
    </extensionProvider>
    
    <!-- Message Forwarding -->
    <extensionProvider>
        <elementName>forwarded</elementName>
        <namespace>urn:xmpp:forward:0</namespace>
        <className>com.xabber.xmpp.carbon.ForwardedProvider</className>
    </extensionProvider>
</smackProviders>