<?xml version="1.0" encoding="utf-8"?>
<fix major="4" minor="4" servicepack="0" type="FIX">
  <!-- GaiaEx Institutional Multi-Version FIX Dictionary (FIX.4.2 / FIX.4.4 / FIXT.1.1 5.0 & 5.2) -->
  <!-- Compatible with QuickFIX / QuickFIX/J / OnixS / OneZero / PrimeXM / Bullish FIX Spec -->
  <header>
    <field name="BeginString" required="Y"/>
    <field name="BodyLength" required="Y"/>
    <field name="MsgType" required="Y"/>
    <field name="ApplVerID" required="N"/>
    <field name="SenderCompID" required="Y"/>
    <field name="TargetCompID" required="Y"/>
    <field name="MsgSeqNum" required="Y"/>
    <field name="SenderSubID" required="N"/>
    <field name="TargetSubID" required="N"/>
    <field name="PossDupFlag" required="N"/>
    <field name="PossResend" required="N"/>
    <field name="SendingTime" required="Y"/>
    <field name="OrigSendingTime" required="N"/>
  </header>
  <trailer>
    <field name="CheckSum" required="Y"/>
  </trailer>
  <messages>
    <message name="Heartbeat" msgtype="0" msgcat="admin">
      <field name="TestReqID" required="N"/>
    </message>
    <message name="TestRequest" msgtype="1" msgcat="admin">
      <field name="TestReqID" required="Y"/>
    </message>
    <message name="ResendRequest" msgtype="2" msgcat="admin">
      <field name="BeginSeqNo" required="Y"/>
      <field name="EndSeqNo" required="Y"/>
    </message>
    <message name="Reject" msgtype="3" msgcat="admin">
      <field name="RefSeqNum" required="Y"/>
      <field name="RefTagID" required="N"/>
      <field name="RefMsgType" required="N"/>
      <field name="SessionRejectReason" required="N"/>
      <field name="Text" required="N"/>
    </message>
    <message name="SequenceReset" msgtype="4" msgcat="admin">
      <field name="GapFillFlag" required="N"/>
      <field name="NewSeqNo" required="Y"/>
    </message>
    <message name="Logout" msgtype="5" msgcat="admin">
      <field name="SessionStatus" required="N"/>
      <field name="Text" required="N"/>
    </message>
    <message name="Logon" msgtype="A" msgcat="admin">
      <field name="EncryptMethod" required="Y"/>
      <field name="HeartBtInt" required="Y"/>
      <field name="RawData" required="N"/>
      <field name="ResetSeqNumFlag" required="Y"/>
      <field name="Username" required="N"/>
      <field name="Password" required="N"/>
      <field name="DefaultApplVerID" required="N"/>
      <field name="SessionStatus" required="N"/>
      <field name="CopyMsgIndicator" required="N"/>
    </message>
    <message name="News" msgtype="B" msgcat="app">
      <field name="Headline" required="Y"/>
    </message>
    <message name="NewOrderSingle" msgtype="D" msgcat="app">
      <field name="ClOrdID" required="Y"/>
      <field name="Account" required="Y"/>
      <field name="CashMargin" required="N"/>
      <field name="Symbol" required="Y"/>
      <field name="Side" required="Y"/>
      <field name="TransactTime" required="Y"/>
      <field name="OrderQty" required="Y"/>
      <field name="OrdType" required="Y"/>
      <field name="Price" required="N"/>
      <field name="StopPx" required="N"/>
      <field name="TimeInForce" required="N"/>
      <field name="ExecInst" required="N"/>
    </message>
    <message name="ExecutionReport" msgtype="8" msgcat="app">
      <field name="OrderID" required="Y"/>
      <field name="ClOrdID" required="N"/>
      <field name="OrigClOrdID" required="N"/>
      <field name="Account" required="Y"/>
      <field name="CashMargin" required="N"/>
      <field name="ExecID" required="Y"/>
      <field name="ExecTransType" required="N"/>
      <field name="MassActionReportID" required="N"/>
      <field name="ExecType" required="Y"/>
      <field name="OrdStatus" required="Y"/>
      <field name="OrdRejReason" required="N"/>
      <field name="Symbol" required="Y"/>
      <field name="Side" required="Y"/>
      <field name="OrderQty" required="Y"/>
      <field name="OrdType" required="Y"/>
      <field name="Price" required="N"/>
      <field name="StopPx" required="N"/>
      <field name="TimeInForce" required="N"/>
      <field name="LastQty" required="N"/>
      <field name="LastPx" required="N"/>
      <field name="LeavesQty" required="Y"/>
      <field name="CumQty" required="Y"/>
      <field name="AvgPx" required="Y"/>
      <field name="TransactTime" required="Y"/>
      <field name="GrossTradeAmt" required="N"/>
      <field name="AggressorIndicator" required="N"/>
      <field name="CopyMsgIndicator" required="N"/>
      <field name="TradeFeeRebateAmt" required="N"/>
      <field name="TradeFeeRebateAsset" required="N"/>
      <field name="LastMkt" required="N"/>
      <field name="Text" required="N"/>
      <group name="NoMiscFees" required="N">
        <field name="MiscFeeAmt" required="N"/>
        <field name="MiscFeeCurr" required="N"/>
        <field name="MiscFeeType" required="N"/>
      </group>
    </message>
    <message name="OrderCancelRequest" msgtype="F" msgcat="app">
      <field name="OrderID" required="N"/>
      <field name="OrigClOrdID" required="Y"/>
      <field name="ClOrdID" required="Y"/>
      <field name="Account" required="Y"/>
      <field name="Symbol" required="Y"/>
      <field name="Side" required="N"/>
      <field name="TransactTime" required="Y"/>
    </message>
    <message name="OrderCancelReplaceRequest" msgtype="G" msgcat="app">
      <field name="OrderID" required="N"/>
      <field name="OrigClOrdID" required="Y"/>
      <field name="ClOrdID" required="Y"/>
      <field name="Account" required="Y"/>
      <field name="Symbol" required="Y"/>
      <field name="Side" required="N"/>
      <field name="OrdType" required="N"/>
      <field name="OrderQty" required="N"/>
      <field name="Price" required="N"/>
      <field name="TransactTime" required="Y"/>
    </message>
    <message name="OrderCancelReject" msgtype="9" msgcat="app">
      <field name="OrderID" required="N"/>
      <field name="ClOrdID" required="Y"/>
      <field name="OrigClOrdID" required="Y"/>
      <field name="OrdStatus" required="Y"/>
      <field name="CxlRejResponseTo" required="Y"/>
      <field name="CxlRejReason" required="Y"/>
      <field name="RejectText" required="Y"/>
      <field name="Text" required="N"/>
      <field name="TransactTime" required="Y"/>
    </message>
    <message name="OrderMassCancelRequest" msgtype="q" msgcat="app">
      <field name="ClOrdID" required="Y"/>
      <field name="MassCancelRequestType" required="Y"/>
      <field name="Account" required="Y"/>
      <field name="Symbol" required="N"/>
      <field name="TransactTime" required="Y"/>
    </message>
    <message name="OrderMassCancelReport" msgtype="r" msgcat="app">
      <field name="ClOrdID" required="Y"/>
      <field name="MassActionReportID" required="Y"/>
      <field name="MassCancelRequestType" required="Y"/>
      <field name="MassCancelResponse" required="Y"/>
      <field name="MassCancelRejectReason" required="N"/>
      <field name="Text" required="N"/>
      <field name="TransactTime" required="Y"/>
    </message>
    <message name="SecurityListRequest" msgtype="x" msgcat="app">
      <field name="SecurityReqID" required="Y"/>
      <field name="SecurityListRequestType" required="Y"/>
      <field name="Symbol" required="N"/>
    </message>
    <message name="SecurityList" msgtype="y" msgcat="app">
      <field name="SecurityReqID" required="Y"/>
      <field name="SecurityRequestResult" required="Y"/>
      <field name="TransactTime" required="Y"/>
      <field name="LastFragment" required="N"/>
      <group name="NoRelatedSym" required="Y">
        <field name="Symbol" required="Y"/>
        <field name="MinPriceIncrement" required="Y"/>
        <field name="MinQtySize" required="Y"/>
        <field name="MaxQtySize" required="Y"/>
        <field name="PricePrecision" required="Y"/>
        <field name="QtyPrecision" required="Y"/>
        <field name="MarginEnabled" required="Y"/>
      </group>
    </message>
    <message name="TradingSessionStatus" msgtype="h" msgcat="app">
      <field name="TradingSessionID" required="Y"/>
      <field name="UnsolicitedIndicator" required="Y"/>
      <field name="TradSesStatus" required="Y"/>
      <field name="TradSesEvent" required="Y"/>
      <field name="Symbol" required="N"/>
      <field name="Text" required="N"/>
    </message>
    <message name="MarketDataRequest" msgtype="V" msgcat="app">
      <field name="MDReqID" required="Y"/>
      <field name="SubscriptionRequestType" required="Y"/>
      <field name="MarketDepth" required="Y"/>
      <field name="Symbol" required="Y"/>
    </message>
    <message name="MarketDataSnapshotFullRefresh" msgtype="W" msgcat="app">
      <field name="MDReqID" required="Y"/>
      <field name="Symbol" required="Y"/>
      <group name="NoMDEntries" required="Y">
        <field name="MDEntryType" required="Y"/>
        <field name="MDEntryPx" required="Y"/>
        <field name="MDEntrySize" required="Y"/>
      </group>
    </message>
    <message name="MarketDataIncrementalRefresh" msgtype="X" msgcat="app">
      <field name="MDReqID" required="Y"/>
      <group name="NoMDEntries" required="Y">
        <field name="MDUpdateAction" required="Y"/>
        <field name="MDEntryType" required="Y"/>
        <field name="Symbol" required="Y"/>
        <field name="MDEntryPx" required="Y"/>
        <field name="MDEntrySize" required="Y"/>
      </group>
    </message>
    <message name="BusinessMessageReject" msgtype="j" msgcat="app">
      <field name="RefSeqNum" required="N"/>
      <field name="RefMsgType" required="Y"/>
      <field name="BusinessRejectRefID" required="N"/>
      <field name="BusinessRejectReason" required="Y"/>
      <field name="Text" required="N"/>
    </message>
    <message name="OrderStatusRequest" msgtype="H" msgcat="app">
      <field name="ClOrdID" required="Y"/>
      <field name="OrderID" required="N"/>
      <field name="OrdStatusReqID" required="N"/>
      <field name="Symbol" required="Y"/>
      <field name="Side" required="Y"/>
    </message>
    <message name="RequestForPositions" msgtype="AN" msgcat="app">
      <field name="PosReqID" required="Y"/>
      <field name="PosReqType" required="Y"/>
      <field name="SubscriptionRequestType" required="N"/>
      <field name="Account" required="N"/>
      <field name="Symbol" required="N"/>
    </message>
    <message name="PositionReport" msgtype="AP" msgcat="app">
      <field name="PosReqID" required="Y"/>
      <field name="PosMaintRptID" required="Y"/>
      <field name="PosReqType" required="N"/>
      <field name="PosReqResult" required="Y"/>
      <field name="Account" required="Y"/>
      <field name="Symbol" required="Y"/>
      <field name="NoPositions" required="N"/>
      <field name="LongQty" required="N"/>
      <field name="ShortQty" required="N"/>
      <field name="SettlePrice" required="N"/>
    </message>
    <message name="MarketDataRequestReject" msgtype="Y" msgcat="app">
      <field name="MDReqID" required="Y"/>
      <field name="MDReqRejReason" required="N"/>
      <field name="Text" required="N"/>
    </message>
    <message name="LimitQuery" msgtype="XLQ" msgcat="app">
      <field name="ReqID" required="Y"/>
    </message>
    <message name="LimitResponse" msgtype="XLR" msgcat="app">
      <field name="ReqID" required="Y"/>
      <field name="NoLimitIndicators" required="Y"/>
    </message>
  </messages>
</fix>
