// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: Order.proto

#include "Order.pb.h"

#include <algorithm>

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/extension_set.h>
#include <google/protobuf/wire_format_lite.h>
#include <google/protobuf/descriptor.h>
#include <google/protobuf/generated_message_reflection.h>
#include <google/protobuf/reflection_ops.h>
#include <google/protobuf/wire_format.h>
// @@protoc_insertion_point(includes)
#include <google/protobuf/port_def.inc>
extern PROTOBUF_INTERNAL_EXPORT_Order_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Order_AlgoParamsEntry_DoNotUse_Order_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_Order_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Order_OrderMiscOptionsEntry_DoNotUse_Order_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_Order_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Order_SmartComboRoutingParamsEntry_DoNotUse_Order_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_OrderCondition_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_OrderCondition_OrderCondition_2eproto;
extern PROTOBUF_INTERNAL_EXPORT_SoftDollarTier_2eproto ::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_SoftDollarTier_SoftDollarTier_2eproto;
namespace protobuf {
class Order_AlgoParamsEntry_DoNotUseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Order_AlgoParamsEntry_DoNotUse> _instance;
} _Order_AlgoParamsEntry_DoNotUse_default_instance_;
class Order_SmartComboRoutingParamsEntry_DoNotUseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Order_SmartComboRoutingParamsEntry_DoNotUse> _instance;
} _Order_SmartComboRoutingParamsEntry_DoNotUse_default_instance_;
class Order_OrderMiscOptionsEntry_DoNotUseDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Order_OrderMiscOptionsEntry_DoNotUse> _instance;
} _Order_OrderMiscOptionsEntry_DoNotUse_default_instance_;
class OrderDefaultTypeInternal {
 public:
  ::PROTOBUF_NAMESPACE_ID::internal::ExplicitlyConstructed<Order> _instance;
} _Order_default_instance_;
}  // namespace protobuf
static void InitDefaultsscc_info_Order_Order_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::protobuf::_Order_default_instance_;
    new (ptr) ::protobuf::Order();
    ::PROTOBUF_NAMESPACE_ID::internal::OnShutdownDestroyMessage(ptr);
  }
  ::protobuf::Order::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<5> scc_info_Order_Order_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 5, 0, InitDefaultsscc_info_Order_Order_2eproto}, {
      &scc_info_Order_AlgoParamsEntry_DoNotUse_Order_2eproto.base,
      &scc_info_Order_SmartComboRoutingParamsEntry_DoNotUse_Order_2eproto.base,
      &scc_info_Order_OrderMiscOptionsEntry_DoNotUse_Order_2eproto.base,
      &scc_info_OrderCondition_OrderCondition_2eproto.base,
      &scc_info_SoftDollarTier_SoftDollarTier_2eproto.base,}};

static void InitDefaultsscc_info_Order_AlgoParamsEntry_DoNotUse_Order_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::protobuf::_Order_AlgoParamsEntry_DoNotUse_default_instance_;
    new (ptr) ::protobuf::Order_AlgoParamsEntry_DoNotUse();
  }
  ::protobuf::Order_AlgoParamsEntry_DoNotUse::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Order_AlgoParamsEntry_DoNotUse_Order_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Order_AlgoParamsEntry_DoNotUse_Order_2eproto}, {}};

static void InitDefaultsscc_info_Order_OrderMiscOptionsEntry_DoNotUse_Order_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::protobuf::_Order_OrderMiscOptionsEntry_DoNotUse_default_instance_;
    new (ptr) ::protobuf::Order_OrderMiscOptionsEntry_DoNotUse();
  }
  ::protobuf::Order_OrderMiscOptionsEntry_DoNotUse::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Order_OrderMiscOptionsEntry_DoNotUse_Order_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Order_OrderMiscOptionsEntry_DoNotUse_Order_2eproto}, {}};

static void InitDefaultsscc_info_Order_SmartComboRoutingParamsEntry_DoNotUse_Order_2eproto() {
  GOOGLE_PROTOBUF_VERIFY_VERSION;

  {
    void* ptr = &::protobuf::_Order_SmartComboRoutingParamsEntry_DoNotUse_default_instance_;
    new (ptr) ::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse();
  }
  ::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse::InitAsDefaultInstance();
}

::PROTOBUF_NAMESPACE_ID::internal::SCCInfo<0> scc_info_Order_SmartComboRoutingParamsEntry_DoNotUse_Order_2eproto =
    {{ATOMIC_VAR_INIT(::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase::kUninitialized), 0, 0, InitDefaultsscc_info_Order_SmartComboRoutingParamsEntry_DoNotUse_Order_2eproto}, {}};

static ::PROTOBUF_NAMESPACE_ID::Metadata file_level_metadata_Order_2eproto[4];
static constexpr ::PROTOBUF_NAMESPACE_ID::EnumDescriptor const** file_level_enum_descriptors_Order_2eproto = nullptr;
static constexpr ::PROTOBUF_NAMESPACE_ID::ServiceDescriptor const** file_level_service_descriptors_Order_2eproto = nullptr;

const ::PROTOBUF_NAMESPACE_ID::uint32 TableStruct_Order_2eproto::offsets[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_AlgoParamsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_AlgoParamsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_AlgoParamsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_AlgoParamsEntry_DoNotUse, value_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse, value_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_OrderMiscOptionsEntry_DoNotUse, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_OrderMiscOptionsEntry_DoNotUse, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_OrderMiscOptionsEntry_DoNotUse, key_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order_OrderMiscOptionsEntry_DoNotUse, value_),
  0,
  1,
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, _has_bits_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, _internal_metadata_),
  ~0u,  // no _extensions_
  ~0u,  // no _oneof_case_
  ~0u,  // no _weak_field_map_
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, clientid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, orderid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, permid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, parentid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, action_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, totalquantity_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, displaysize_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, ordertype_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, lmtprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, auxprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, tif_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, account_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, settlingfirm_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, clearingaccount_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, clearingintent_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, allornone_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, blockorder_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, hidden_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, outsiderth_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, sweeptofill_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, percentoffset_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, trailingpercent_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, trailstopprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, minqty_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, goodaftertime_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, goodtilldate_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, ocagroup_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, orderref_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, rule80a_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, ocatype_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, triggermethod_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, activestarttime_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, activestoptime_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, fagroup_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, famethod_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, fapercentage_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, volatility_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, volatilitytype_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, continuousupdate_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, referencepricetype_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralordertype_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralauxprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralconid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralopenclose_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralshortsale_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralshortsaleslot_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutraldesignatedlocation_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scaleinitlevelsize_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scalesubslevelsize_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scalepriceincrement_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scalepriceadjustvalue_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scalepriceadjustinterval_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scaleprofitoffset_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scaleautoreset_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scaleinitposition_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scaleinitfillqty_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scalerandompercent_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, scaletable_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, hedgetype_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, hedgeparam_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, algostrategy_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, algoparams_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, algoid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, smartcomboroutingparams_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, whatif_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, transmit_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, overridepercentageconstraints_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, openclose_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, origin_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, shortsaleslot_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, designatedlocation_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, exemptcode_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralsettlingfirm_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralclearingaccount_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, deltaneutralclearingintent_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, discretionaryamt_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, optoutsmartrouting_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, startingprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, stockrefprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, delta_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, stockrangelower_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, stockrangeupper_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, notheld_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, ordermiscoptions_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, solicited_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, randomizesize_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, randomizeprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, referencecontractid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, peggedchangeamount_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, ispeggedchangeamountdecrease_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, referencechangeamount_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, referenceexchangeid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, adjustedordertype_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, triggerprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, adjustedstopprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, adjustedstoplimitprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, adjustedtrailingamount_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, adjustabletrailingunit_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, lmtpriceoffset_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, conditions_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, conditionscancelorder_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, conditionsignorerth_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, modelcode_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, extoperator_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, softdollartier_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, cashqty_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, mifid2decisionmaker_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, mifid2decisionalgo_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, mifid2executiontrader_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, mifid2executionalgo_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, dontuseautopriceforhedge_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, isomscontainer_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, discretionaryuptolimitprice_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, autocanceldate_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, filledquantity_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, reffuturesconid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, autocancelparent_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, shareholder_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, imbalanceonly_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, routemarketabletobbo_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, parentpermid_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, usepricemgmtalgo_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, duration_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, posttoats_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, advancederroroverride_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, manualordertime_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, mintradeqty_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, mincompetesize_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, competeagainstbestoffset_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, midoffsetatwhole_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, midoffsetathalf_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, customeraccount_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, professionalcustomer_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, bondaccruedinterest_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, includeovernight_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, manualorderindicator_),
  PROTOBUF_FIELD_OFFSET(::protobuf::Order, submitter_),
  48,
  49,
  50,
  51,
  0,
  1,
  52,
  2,
  53,
  54,
  3,
  4,
  5,
  6,
  7,
  55,
  56,
  57,
  58,
  67,
  60,
  61,
  62,
  59,
  8,
  9,
  10,
  11,
  12,
  63,
  64,
  13,
  14,
  15,
  16,
  17,
  65,
  66,
  68,
  71,
  18,
  73,
  72,
  19,
  69,
  74,
  20,
  75,
  77,
  76,
  79,
  78,
  80,
  70,
  81,
  82,
  83,
  21,
  22,
  23,
  24,
  ~0u,
  25,
  ~0u,
  84,
  85,
  86,
  26,
  87,
  88,
  27,
  89,
  28,
  29,
  30,
  90,
  96,
  91,
  92,
  93,
  94,
  95,
  97,
  ~0u,
  98,
  99,
  105,
  100,
  101,
  106,
  102,
  31,
  32,
  103,
  104,
  110,
  111,
  109,
  112,
  ~0u,
  107,
  108,
  33,
  34,
  47,
  113,
  35,
  36,
  37,
  38,
  114,
  115,
  116,
  39,
  40,
  118,
  117,
  41,
  123,
  124,
  119,
  120,
  121,
  122,
  42,
  43,
  127,
  128,
  129,
  130,
  131,
  44,
  125,
  45,
  126,
  132,
  46,
};
static const ::PROTOBUF_NAMESPACE_ID::internal::MigrationSchema schemas[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) = {
  { 0, 7, sizeof(::protobuf::Order_AlgoParamsEntry_DoNotUse)},
  { 9, 16, sizeof(::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse)},
  { 18, 25, sizeof(::protobuf::Order_OrderMiscOptionsEntry_DoNotUse)},
  { 27, 169, sizeof(::protobuf::Order)},
};

static ::PROTOBUF_NAMESPACE_ID::Message const * const file_default_instances[] = {
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::protobuf::_Order_AlgoParamsEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::protobuf::_Order_SmartComboRoutingParamsEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::protobuf::_Order_OrderMiscOptionsEntry_DoNotUse_default_instance_),
  reinterpret_cast<const ::PROTOBUF_NAMESPACE_ID::Message*>(&::protobuf::_Order_default_instance_),
};

const char descriptor_table_protodef_Order_2eproto[] PROTOBUF_SECTION_VARIABLE(protodesc_cold) =
  "\n\013Order.proto\022\010protobuf\032\024OrderCondition."
  "proto\032\024SoftDollarTier.proto\"\2776\n\005Order\022\025\n"
  "\010clientId\030\001 \001(\005H\000\210\001\001\022\024\n\007orderId\030\002 \001(\005H\001\210"
  "\001\001\022\023\n\006permId\030\003 \001(\003H\002\210\001\001\022\025\n\010parentId\030\004 \001("
  "\005H\003\210\001\001\022\023\n\006action\030\005 \001(\tH\004\210\001\001\022\032\n\rtotalQuan"
  "tity\030\006 \001(\tH\005\210\001\001\022\030\n\013displaySize\030\007 \001(\005H\006\210\001"
  "\001\022\026\n\torderType\030\010 \001(\tH\007\210\001\001\022\025\n\010lmtPrice\030\t "
  "\001(\001H\010\210\001\001\022\025\n\010auxPrice\030\n \001(\001H\t\210\001\001\022\020\n\003tif\030\013"
  " \001(\tH\n\210\001\001\022\024\n\007account\030\014 \001(\tH\013\210\001\001\022\031\n\014settl"
  "ingFirm\030\r \001(\tH\014\210\001\001\022\034\n\017clearingAccount\030\016 "
  "\001(\tH\r\210\001\001\022\033\n\016clearingIntent\030\017 \001(\tH\016\210\001\001\022\026\n"
  "\tallOrNone\030\020 \001(\010H\017\210\001\001\022\027\n\nblockOrder\030\021 \001("
  "\010H\020\210\001\001\022\023\n\006hidden\030\022 \001(\010H\021\210\001\001\022\027\n\noutsideRt"
  "h\030\023 \001(\010H\022\210\001\001\022\030\n\013sweepToFill\030\024 \001(\010H\023\210\001\001\022\032"
  "\n\rpercentOffset\030\025 \001(\001H\024\210\001\001\022\034\n\017trailingPe"
  "rcent\030\026 \001(\001H\025\210\001\001\022\033\n\016trailStopPrice\030\027 \001(\001"
  "H\026\210\001\001\022\023\n\006minQty\030\030 \001(\005H\027\210\001\001\022\032\n\rgoodAfterT"
  "ime\030\031 \001(\tH\030\210\001\001\022\031\n\014goodTillDate\030\032 \001(\tH\031\210\001"
  "\001\022\025\n\010ocaGroup\030\033 \001(\tH\032\210\001\001\022\025\n\010orderRef\030\034 \001"
  "(\tH\033\210\001\001\022\024\n\007rule80A\030\035 \001(\tH\034\210\001\001\022\024\n\007ocaType"
  "\030\036 \001(\005H\035\210\001\001\022\032\n\rtriggerMethod\030\037 \001(\005H\036\210\001\001\022"
  "\034\n\017activeStartTime\030  \001(\tH\037\210\001\001\022\033\n\016activeS"
  "topTime\030! \001(\tH \210\001\001\022\024\n\007faGroup\030\" \001(\tH!\210\001\001"
  "\022\025\n\010faMethod\030# \001(\tH\"\210\001\001\022\031\n\014faPercentage\030"
  "$ \001(\tH#\210\001\001\022\027\n\nvolatility\030% \001(\001H$\210\001\001\022\033\n\016v"
  "olatilityType\030& \001(\005H%\210\001\001\022\035\n\020continuousUp"
  "date\030\' \001(\010H&\210\001\001\022\037\n\022referencePriceType\030( "
  "\001(\005H\'\210\001\001\022\"\n\025deltaNeutralOrderType\030) \001(\tH"
  "(\210\001\001\022!\n\024deltaNeutralAuxPrice\030* \001(\001H)\210\001\001\022"
  "\036\n\021deltaNeutralConId\030+ \001(\005H*\210\001\001\022\"\n\025delta"
  "NeutralOpenClose\030, \001(\tH+\210\001\001\022\"\n\025deltaNeut"
  "ralShortSale\030- \001(\010H,\210\001\001\022&\n\031deltaNeutralS"
  "hortSaleSlot\030. \001(\005H-\210\001\001\022+\n\036deltaNeutralD"
  "esignatedLocation\030/ \001(\tH.\210\001\001\022\037\n\022scaleIni"
  "tLevelSize\0300 \001(\005H/\210\001\001\022\037\n\022scaleSubsLevelS"
  "ize\0301 \001(\005H0\210\001\001\022 \n\023scalePriceIncrement\0302 "
  "\001(\001H1\210\001\001\022\"\n\025scalePriceAdjustValue\0303 \001(\001H"
  "2\210\001\001\022%\n\030scalePriceAdjustInterval\0304 \001(\005H3"
  "\210\001\001\022\036\n\021scaleProfitOffset\0305 \001(\001H4\210\001\001\022\033\n\016s"
  "caleAutoReset\0306 \001(\010H5\210\001\001\022\036\n\021scaleInitPos"
  "ition\0307 \001(\005H6\210\001\001\022\035\n\020scaleInitFillQty\0308 \001"
  "(\005H7\210\001\001\022\037\n\022scaleRandomPercent\0309 \001(\010H8\210\001\001"
  "\022\027\n\nscaleTable\030: \001(\tH9\210\001\001\022\026\n\thedgeType\030;"
  " \001(\tH:\210\001\001\022\027\n\nhedgeParam\030< \001(\tH;\210\001\001\022\031\n\014al"
  "goStrategy\030= \001(\tH<\210\001\001\0223\n\nalgoParams\030> \003("
  "\0132\037.protobuf.Order.AlgoParamsEntry\022\023\n\006al"
  "goId\030\? \001(\tH=\210\001\001\022M\n\027smartComboRoutingPara"
  "ms\030@ \003(\0132,.protobuf.Order.SmartComboRout"
  "ingParamsEntry\022\023\n\006whatIf\030A \001(\010H>\210\001\001\022\025\n\010t"
  "ransmit\030B \001(\010H\?\210\001\001\022*\n\035overridePercentage"
  "Constraints\030C \001(\010H@\210\001\001\022\026\n\topenClose\030D \001("
  "\tHA\210\001\001\022\023\n\006origin\030E \001(\005HB\210\001\001\022\032\n\rshortSale"
  "Slot\030F \001(\005HC\210\001\001\022\037\n\022designatedLocation\030G "
  "\001(\tHD\210\001\001\022\027\n\nexemptCode\030H \001(\005HE\210\001\001\022%\n\030del"
  "taNeutralSettlingFirm\030I \001(\tHF\210\001\001\022(\n\033delt"
  "aNeutralClearingAccount\030J \001(\tHG\210\001\001\022\'\n\032de"
  "ltaNeutralClearingIntent\030K \001(\tHH\210\001\001\022\035\n\020d"
  "iscretionaryAmt\030L \001(\001HI\210\001\001\022\037\n\022optOutSmar"
  "tRouting\030M \001(\010HJ\210\001\001\022\032\n\rstartingPrice\030N \001"
  "(\001HK\210\001\001\022\032\n\rstockRefPrice\030O \001(\001HL\210\001\001\022\022\n\005d"
  "elta\030P \001(\001HM\210\001\001\022\034\n\017stockRangeLower\030Q \001(\001"
  "HN\210\001\001\022\034\n\017stockRangeUpper\030R \001(\001HO\210\001\001\022\024\n\007n"
  "otHeld\030S \001(\010HP\210\001\001\022\?\n\020orderMiscOptions\030T "
  "\003(\0132%.protobuf.Order.OrderMiscOptionsEnt"
  "ry\022\026\n\tsolicited\030U \001(\010HQ\210\001\001\022\032\n\rrandomizeS"
  "ize\030V \001(\010HR\210\001\001\022\033\n\016randomizePrice\030W \001(\010HS"
  "\210\001\001\022 \n\023referenceContractId\030X \001(\005HT\210\001\001\022\037\n"
  "\022peggedChangeAmount\030Y \001(\001HU\210\001\001\022)\n\034isPegg"
  "edChangeAmountDecrease\030Z \001(\010HV\210\001\001\022\"\n\025ref"
  "erenceChangeAmount\030[ \001(\001HW\210\001\001\022 \n\023referen"
  "ceExchangeId\030\\ \001(\tHX\210\001\001\022\036\n\021adjustedOrder"
  "Type\030] \001(\tHY\210\001\001\022\031\n\014triggerPrice\030^ \001(\001HZ\210"
  "\001\001\022\036\n\021adjustedStopPrice\030_ \001(\001H[\210\001\001\022#\n\026ad"
  "justedStopLimitPrice\030` \001(\001H\\\210\001\001\022#\n\026adjus"
  "tedTrailingAmount\030a \001(\001H]\210\001\001\022#\n\026adjustab"
  "leTrailingUnit\030b \001(\005H^\210\001\001\022\033\n\016lmtPriceOff"
  "set\030c \001(\001H_\210\001\001\022,\n\nconditions\030d \003(\0132\030.pro"
  "tobuf.OrderCondition\022\"\n\025conditionsCancel"
  "Order\030e \001(\010H`\210\001\001\022 \n\023conditionsIgnoreRth\030"
  "f \001(\010Ha\210\001\001\022\026\n\tmodelCode\030g \001(\tHb\210\001\001\022\030\n\013ex"
  "tOperator\030h \001(\tHc\210\001\001\0225\n\016softDollarTier\030i"
  " \001(\0132\030.protobuf.SoftDollarTierHd\210\001\001\022\024\n\007c"
  "ashQty\030j \001(\001He\210\001\001\022 \n\023mifid2DecisionMaker"
  "\030k \001(\tHf\210\001\001\022\037\n\022mifid2DecisionAlgo\030l \001(\tH"
  "g\210\001\001\022\"\n\025mifid2ExecutionTrader\030m \001(\tHh\210\001\001"
  "\022 \n\023mifid2ExecutionAlgo\030n \001(\tHi\210\001\001\022%\n\030do"
  "ntUseAutoPriceForHedge\030o \001(\010Hj\210\001\001\022\033\n\016isO"
  "msContainer\030p \001(\010Hk\210\001\001\022(\n\033discretionaryU"
  "pToLimitPrice\030q \001(\010Hl\210\001\001\022\033\n\016autoCancelDa"
  "te\030r \001(\tHm\210\001\001\022\033\n\016filledQuantity\030s \001(\tHn\210"
  "\001\001\022\034\n\017refFuturesConId\030t \001(\005Ho\210\001\001\022\035\n\020auto"
  "CancelParent\030u \001(\010Hp\210\001\001\022\030\n\013shareholder\030v"
  " \001(\tHq\210\001\001\022\032\n\rimbalanceOnly\030w \001(\010Hr\210\001\001\022!\n"
  "\024routeMarketableToBbo\030x \001(\010Hs\210\001\001\022\031\n\014pare"
  "ntPermId\030y \001(\003Ht\210\001\001\022\035\n\020usePriceMgmtAlgo\030"
  "z \001(\005Hu\210\001\001\022\025\n\010duration\030{ \001(\005Hv\210\001\001\022\026\n\tpos"
  "tToAts\030| \001(\005Hw\210\001\001\022\"\n\025advancedErrorOverri"
  "de\030} \001(\tHx\210\001\001\022\034\n\017manualOrderTime\030~ \001(\tHy"
  "\210\001\001\022\030\n\013minTradeQty\030\177 \001(\005Hz\210\001\001\022\034\n\016minComp"
  "eteSize\030\200\001 \001(\005H{\210\001\001\022&\n\030competeAgainstBes"
  "tOffset\030\201\001 \001(\001H|\210\001\001\022\036\n\020midOffsetAtWhole\030"
  "\202\001 \001(\001H}\210\001\001\022\035\n\017midOffsetAtHalf\030\203\001 \001(\001H~\210"
  "\001\001\022\035\n\017customerAccount\030\204\001 \001(\tH\177\210\001\001\022#\n\024pro"
  "fessionalCustomer\030\205\001 \001(\010H\200\001\210\001\001\022\"\n\023bondAc"
  "cruedInterest\030\206\001 \001(\tH\201\001\210\001\001\022\037\n\020includeOve"
  "rnight\030\207\001 \001(\010H\202\001\210\001\001\022#\n\024manualOrderIndica"
  "tor\030\210\001 \001(\005H\203\001\210\001\001\022\030\n\tsubmitter\030\211\001 \001(\tH\204\001\210"
  "\001\001\0321\n\017AlgoParamsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005va"
  "lue\030\002 \001(\t:\0028\001\032>\n\034SmartComboRoutingParams"
  "Entry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\0327\n"
  "\025OrderMiscOptionsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005v"
  "alue\030\002 \001(\t:\0028\001B\013\n\t_clientIdB\n\n\010_orderIdB"
  "\t\n\007_permIdB\013\n\t_parentIdB\t\n\007_actionB\020\n\016_t"
  "otalQuantityB\016\n\014_displaySizeB\014\n\n_orderTy"
  "peB\013\n\t_lmtPriceB\013\n\t_auxPriceB\006\n\004_tifB\n\n\010"
  "_accountB\017\n\r_settlingFirmB\022\n\020_clearingAc"
  "countB\021\n\017_clearingIntentB\014\n\n_allOrNoneB\r"
  "\n\013_blockOrderB\t\n\007_hiddenB\r\n\013_outsideRthB"
  "\016\n\014_sweepToFillB\020\n\016_percentOffsetB\022\n\020_tr"
  "ailingPercentB\021\n\017_trailStopPriceB\t\n\007_min"
  "QtyB\020\n\016_goodAfterTimeB\017\n\r_goodTillDateB\013"
  "\n\t_ocaGroupB\013\n\t_orderRefB\n\n\010_rule80AB\n\n\010"
  "_ocaTypeB\020\n\016_triggerMethodB\022\n\020_activeSta"
  "rtTimeB\021\n\017_activeStopTimeB\n\n\010_faGroupB\013\n"
  "\t_faMethodB\017\n\r_faPercentageB\r\n\013_volatili"
  "tyB\021\n\017_volatilityTypeB\023\n\021_continuousUpda"
  "teB\025\n\023_referencePriceTypeB\030\n\026_deltaNeutr"
  "alOrderTypeB\027\n\025_deltaNeutralAuxPriceB\024\n\022"
  "_deltaNeutralConIdB\030\n\026_deltaNeutralOpenC"
  "loseB\030\n\026_deltaNeutralShortSaleB\034\n\032_delta"
  "NeutralShortSaleSlotB!\n\037_deltaNeutralDes"
  "ignatedLocationB\025\n\023_scaleInitLevelSizeB\025"
  "\n\023_scaleSubsLevelSizeB\026\n\024_scalePriceIncr"
  "ementB\030\n\026_scalePriceAdjustValueB\033\n\031_scal"
  "ePriceAdjustIntervalB\024\n\022_scaleProfitOffs"
  "etB\021\n\017_scaleAutoResetB\024\n\022_scaleInitPosit"
  "ionB\023\n\021_scaleInitFillQtyB\025\n\023_scaleRandom"
  "PercentB\r\n\013_scaleTableB\014\n\n_hedgeTypeB\r\n\013"
  "_hedgeParamB\017\n\r_algoStrategyB\t\n\007_algoIdB"
  "\t\n\007_whatIfB\013\n\t_transmitB \n\036_overridePerc"
  "entageConstraintsB\014\n\n_openCloseB\t\n\007_orig"
  "inB\020\n\016_shortSaleSlotB\025\n\023_designatedLocat"
  "ionB\r\n\013_exemptCodeB\033\n\031_deltaNeutralSettl"
  "ingFirmB\036\n\034_deltaNeutralClearingAccountB"
  "\035\n\033_deltaNeutralClearingIntentB\023\n\021_discr"
  "etionaryAmtB\025\n\023_optOutSmartRoutingB\020\n\016_s"
  "tartingPriceB\020\n\016_stockRefPriceB\010\n\006_delta"
  "B\022\n\020_stockRangeLowerB\022\n\020_stockRangeUpper"
  "B\n\n\010_notHeldB\014\n\n_solicitedB\020\n\016_randomize"
  "SizeB\021\n\017_randomizePriceB\026\n\024_referenceCon"
  "tractIdB\025\n\023_peggedChangeAmountB\037\n\035_isPeg"
  "gedChangeAmountDecreaseB\030\n\026_referenceCha"
  "ngeAmountB\026\n\024_referenceExchangeIdB\024\n\022_ad"
  "justedOrderTypeB\017\n\r_triggerPriceB\024\n\022_adj"
  "ustedStopPriceB\031\n\027_adjustedStopLimitPric"
  "eB\031\n\027_adjustedTrailingAmountB\031\n\027_adjusta"
  "bleTrailingUnitB\021\n\017_lmtPriceOffsetB\030\n\026_c"
  "onditionsCancelOrderB\026\n\024_conditionsIgnor"
  "eRthB\014\n\n_modelCodeB\016\n\014_extOperatorB\021\n\017_s"
  "oftDollarTierB\n\n\010_cashQtyB\026\n\024_mifid2Deci"
  "sionMakerB\025\n\023_mifid2DecisionAlgoB\030\n\026_mif"
  "id2ExecutionTraderB\026\n\024_mifid2ExecutionAl"
  "goB\033\n\031_dontUseAutoPriceForHedgeB\021\n\017_isOm"
  "sContainerB\036\n\034_discretionaryUpToLimitPri"
  "ceB\021\n\017_autoCancelDateB\021\n\017_filledQuantity"
  "B\022\n\020_refFuturesConIdB\023\n\021_autoCancelParen"
  "tB\016\n\014_shareholderB\020\n\016_imbalanceOnlyB\027\n\025_"
  "routeMarketableToBboB\017\n\r_parentPermIdB\023\n"
  "\021_usePriceMgmtAlgoB\013\n\t_durationB\014\n\n_post"
  "ToAtsB\030\n\026_advancedErrorOverrideB\022\n\020_manu"
  "alOrderTimeB\016\n\014_minTradeQtyB\021\n\017_minCompe"
  "teSizeB\033\n\031_competeAgainstBestOffsetB\023\n\021_"
  "midOffsetAtWholeB\022\n\020_midOffsetAtHalfB\022\n\020"
  "_customerAccountB\027\n\025_professionalCustome"
  "rB\026\n\024_bondAccruedInterestB\023\n\021_includeOve"
  "rnightB\027\n\025_manualOrderIndicatorB\014\n\n_subm"
  "itterB5\n\026com.ib.client.protobufB\nOrderPr"
  "oto\252\002\016IBApi.protobufb\006proto3"
  ;
static const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable*const descriptor_table_Order_2eproto_deps[2] = {
  &::descriptor_table_OrderCondition_2eproto,
  &::descriptor_table_SoftDollarTier_2eproto,
};
static ::PROTOBUF_NAMESPACE_ID::internal::SCCInfoBase*const descriptor_table_Order_2eproto_sccs[4] = {
  &scc_info_Order_Order_2eproto.base,
  &scc_info_Order_AlgoParamsEntry_DoNotUse_Order_2eproto.base,
  &scc_info_Order_OrderMiscOptionsEntry_DoNotUse_Order_2eproto.base,
  &scc_info_Order_SmartComboRoutingParamsEntry_DoNotUse_Order_2eproto.base,
};
static ::PROTOBUF_NAMESPACE_ID::internal::once_flag descriptor_table_Order_2eproto_once;
const ::PROTOBUF_NAMESPACE_ID::internal::DescriptorTable descriptor_table_Order_2eproto = {
  false, false, descriptor_table_protodef_Order_2eproto, "Order.proto", 7108,
  &descriptor_table_Order_2eproto_once, descriptor_table_Order_2eproto_sccs, descriptor_table_Order_2eproto_deps, 4, 2,
  schemas, file_default_instances, TableStruct_Order_2eproto::offsets,
  file_level_metadata_Order_2eproto, 4, file_level_enum_descriptors_Order_2eproto, file_level_service_descriptors_Order_2eproto,
};

// Force running AddDescriptors() at dynamic initialization time.
static bool dynamic_init_dummy_Order_2eproto = (static_cast<void>(::PROTOBUF_NAMESPACE_ID::internal::AddDescriptors(&descriptor_table_Order_2eproto)), true);
namespace protobuf {

// ===================================================================

Order_AlgoParamsEntry_DoNotUse::Order_AlgoParamsEntry_DoNotUse() {}
Order_AlgoParamsEntry_DoNotUse::Order_AlgoParamsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
    : SuperType(arena) {}
void Order_AlgoParamsEntry_DoNotUse::MergeFrom(const Order_AlgoParamsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::PROTOBUF_NAMESPACE_ID::Metadata Order_AlgoParamsEntry_DoNotUse::GetMetadata() const {
  return GetMetadataStatic();
}
void Order_AlgoParamsEntry_DoNotUse::MergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::Message& other) {
  ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom(other);
}


// ===================================================================

Order_SmartComboRoutingParamsEntry_DoNotUse::Order_SmartComboRoutingParamsEntry_DoNotUse() {}
Order_SmartComboRoutingParamsEntry_DoNotUse::Order_SmartComboRoutingParamsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
    : SuperType(arena) {}
void Order_SmartComboRoutingParamsEntry_DoNotUse::MergeFrom(const Order_SmartComboRoutingParamsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::PROTOBUF_NAMESPACE_ID::Metadata Order_SmartComboRoutingParamsEntry_DoNotUse::GetMetadata() const {
  return GetMetadataStatic();
}
void Order_SmartComboRoutingParamsEntry_DoNotUse::MergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::Message& other) {
  ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom(other);
}


// ===================================================================

Order_OrderMiscOptionsEntry_DoNotUse::Order_OrderMiscOptionsEntry_DoNotUse() {}
Order_OrderMiscOptionsEntry_DoNotUse::Order_OrderMiscOptionsEntry_DoNotUse(::PROTOBUF_NAMESPACE_ID::Arena* arena)
    : SuperType(arena) {}
void Order_OrderMiscOptionsEntry_DoNotUse::MergeFrom(const Order_OrderMiscOptionsEntry_DoNotUse& other) {
  MergeFromInternal(other);
}
::PROTOBUF_NAMESPACE_ID::Metadata Order_OrderMiscOptionsEntry_DoNotUse::GetMetadata() const {
  return GetMetadataStatic();
}
void Order_OrderMiscOptionsEntry_DoNotUse::MergeFrom(
    const ::PROTOBUF_NAMESPACE_ID::Message& other) {
  ::PROTOBUF_NAMESPACE_ID::Message::MergeFrom(other);
}


// ===================================================================

void Order::InitAsDefaultInstance() {
  ::protobuf::_Order_default_instance_._instance.get_mutable()->softdollartier_ = const_cast< ::protobuf::SoftDollarTier*>(
      ::protobuf::SoftDollarTier::internal_default_instance());
}
class Order::_Internal {
 public:
  using HasBits = decltype(std::declval<Order>()._has_bits_);
  static void set_has_clientid(HasBits* has_bits) {
    (*has_bits)[1] |= 65536u;
  }
  static void set_has_orderid(HasBits* has_bits) {
    (*has_bits)[1] |= 131072u;
  }
  static void set_has_permid(HasBits* has_bits) {
    (*has_bits)[1] |= 262144u;
  }
  static void set_has_parentid(HasBits* has_bits) {
    (*has_bits)[1] |= 524288u;
  }
  static void set_has_action(HasBits* has_bits) {
    (*has_bits)[0] |= 1u;
  }
  static void set_has_totalquantity(HasBits* has_bits) {
    (*has_bits)[0] |= 2u;
  }
  static void set_has_displaysize(HasBits* has_bits) {
    (*has_bits)[1] |= 1048576u;
  }
  static void set_has_ordertype(HasBits* has_bits) {
    (*has_bits)[0] |= 4u;
  }
  static void set_has_lmtprice(HasBits* has_bits) {
    (*has_bits)[1] |= 2097152u;
  }
  static void set_has_auxprice(HasBits* has_bits) {
    (*has_bits)[1] |= 4194304u;
  }
  static void set_has_tif(HasBits* has_bits) {
    (*has_bits)[0] |= 8u;
  }
  static void set_has_account(HasBits* has_bits) {
    (*has_bits)[0] |= 16u;
  }
  static void set_has_settlingfirm(HasBits* has_bits) {
    (*has_bits)[0] |= 32u;
  }
  static void set_has_clearingaccount(HasBits* has_bits) {
    (*has_bits)[0] |= 64u;
  }
  static void set_has_clearingintent(HasBits* has_bits) {
    (*has_bits)[0] |= 128u;
  }
  static void set_has_allornone(HasBits* has_bits) {
    (*has_bits)[1] |= 8388608u;
  }
  static void set_has_blockorder(HasBits* has_bits) {
    (*has_bits)[1] |= 16777216u;
  }
  static void set_has_hidden(HasBits* has_bits) {
    (*has_bits)[1] |= 33554432u;
  }
  static void set_has_outsiderth(HasBits* has_bits) {
    (*has_bits)[1] |= 67108864u;
  }
  static void set_has_sweeptofill(HasBits* has_bits) {
    (*has_bits)[2] |= 8u;
  }
  static void set_has_percentoffset(HasBits* has_bits) {
    (*has_bits)[1] |= 268435456u;
  }
  static void set_has_trailingpercent(HasBits* has_bits) {
    (*has_bits)[1] |= 536870912u;
  }
  static void set_has_trailstopprice(HasBits* has_bits) {
    (*has_bits)[1] |= 1073741824u;
  }
  static void set_has_minqty(HasBits* has_bits) {
    (*has_bits)[1] |= 134217728u;
  }
  static void set_has_goodaftertime(HasBits* has_bits) {
    (*has_bits)[0] |= 256u;
  }
  static void set_has_goodtilldate(HasBits* has_bits) {
    (*has_bits)[0] |= 512u;
  }
  static void set_has_ocagroup(HasBits* has_bits) {
    (*has_bits)[0] |= 1024u;
  }
  static void set_has_orderref(HasBits* has_bits) {
    (*has_bits)[0] |= 2048u;
  }
  static void set_has_rule80a(HasBits* has_bits) {
    (*has_bits)[0] |= 4096u;
  }
  static void set_has_ocatype(HasBits* has_bits) {
    (*has_bits)[1] |= 2147483648u;
  }
  static void set_has_triggermethod(HasBits* has_bits) {
    (*has_bits)[2] |= 1u;
  }
  static void set_has_activestarttime(HasBits* has_bits) {
    (*has_bits)[0] |= 8192u;
  }
  static void set_has_activestoptime(HasBits* has_bits) {
    (*has_bits)[0] |= 16384u;
  }
  static void set_has_fagroup(HasBits* has_bits) {
    (*has_bits)[0] |= 32768u;
  }
  static void set_has_famethod(HasBits* has_bits) {
    (*has_bits)[0] |= 65536u;
  }
  static void set_has_fapercentage(HasBits* has_bits) {
    (*has_bits)[0] |= 131072u;
  }
  static void set_has_volatility(HasBits* has_bits) {
    (*has_bits)[2] |= 2u;
  }
  static void set_has_volatilitytype(HasBits* has_bits) {
    (*has_bits)[2] |= 4u;
  }
  static void set_has_continuousupdate(HasBits* has_bits) {
    (*has_bits)[2] |= 16u;
  }
  static void set_has_referencepricetype(HasBits* has_bits) {
    (*has_bits)[2] |= 128u;
  }
  static void set_has_deltaneutralordertype(HasBits* has_bits) {
    (*has_bits)[0] |= 262144u;
  }
  static void set_has_deltaneutralauxprice(HasBits* has_bits) {
    (*has_bits)[2] |= 512u;
  }
  static void set_has_deltaneutralconid(HasBits* has_bits) {
    (*has_bits)[2] |= 256u;
  }
  static void set_has_deltaneutralopenclose(HasBits* has_bits) {
    (*has_bits)[0] |= 524288u;
  }
  static void set_has_deltaneutralshortsale(HasBits* has_bits) {
    (*has_bits)[2] |= 32u;
  }
  static void set_has_deltaneutralshortsaleslot(HasBits* has_bits) {
    (*has_bits)[2] |= 1024u;
  }
  static void set_has_deltaneutraldesignatedlocation(HasBits* has_bits) {
    (*has_bits)[0] |= 1048576u;
  }
  static void set_has_scaleinitlevelsize(HasBits* has_bits) {
    (*has_bits)[2] |= 2048u;
  }
  static void set_has_scalesubslevelsize(HasBits* has_bits) {
    (*has_bits)[2] |= 8192u;
  }
  static void set_has_scalepriceincrement(HasBits* has_bits) {
    (*has_bits)[2] |= 4096u;
  }
  static void set_has_scalepriceadjustvalue(HasBits* has_bits) {
    (*has_bits)[2] |= 32768u;
  }
  static void set_has_scalepriceadjustinterval(HasBits* has_bits) {
    (*has_bits)[2] |= 16384u;
  }
  static void set_has_scaleprofitoffset(HasBits* has_bits) {
    (*has_bits)[2] |= 65536u;
  }
  static void set_has_scaleautoreset(HasBits* has_bits) {
    (*has_bits)[2] |= 64u;
  }
  static void set_has_scaleinitposition(HasBits* has_bits) {
    (*has_bits)[2] |= 131072u;
  }
  static void set_has_scaleinitfillqty(HasBits* has_bits) {
    (*has_bits)[2] |= 262144u;
  }
  static void set_has_scalerandompercent(HasBits* has_bits) {
    (*has_bits)[2] |= 524288u;
  }
  static void set_has_scaletable(HasBits* has_bits) {
    (*has_bits)[0] |= 2097152u;
  }
  static void set_has_hedgetype(HasBits* has_bits) {
    (*has_bits)[0] |= 4194304u;
  }
  static void set_has_hedgeparam(HasBits* has_bits) {
    (*has_bits)[0] |= 8388608u;
  }
  static void set_has_algostrategy(HasBits* has_bits) {
    (*has_bits)[0] |= 16777216u;
  }
  static void set_has_algoid(HasBits* has_bits) {
    (*has_bits)[0] |= 33554432u;
  }
  static void set_has_whatif(HasBits* has_bits) {
    (*has_bits)[2] |= 1048576u;
  }
  static void set_has_transmit(HasBits* has_bits) {
    (*has_bits)[2] |= 2097152u;
  }
  static void set_has_overridepercentageconstraints(HasBits* has_bits) {
    (*has_bits)[2] |= 4194304u;
  }
  static void set_has_openclose(HasBits* has_bits) {
    (*has_bits)[0] |= 67108864u;
  }
  static void set_has_origin(HasBits* has_bits) {
    (*has_bits)[2] |= 8388608u;
  }
  static void set_has_shortsaleslot(HasBits* has_bits) {
    (*has_bits)[2] |= 16777216u;
  }
  static void set_has_designatedlocation(HasBits* has_bits) {
    (*has_bits)[0] |= 134217728u;
  }
  static void set_has_exemptcode(HasBits* has_bits) {
    (*has_bits)[2] |= 33554432u;
  }
  static void set_has_deltaneutralsettlingfirm(HasBits* has_bits) {
    (*has_bits)[0] |= 268435456u;
  }
  static void set_has_deltaneutralclearingaccount(HasBits* has_bits) {
    (*has_bits)[0] |= 536870912u;
  }
  static void set_has_deltaneutralclearingintent(HasBits* has_bits) {
    (*has_bits)[0] |= 1073741824u;
  }
  static void set_has_discretionaryamt(HasBits* has_bits) {
    (*has_bits)[2] |= 67108864u;
  }
  static void set_has_optoutsmartrouting(HasBits* has_bits) {
    (*has_bits)[3] |= 1u;
  }
  static void set_has_startingprice(HasBits* has_bits) {
    (*has_bits)[2] |= 134217728u;
  }
  static void set_has_stockrefprice(HasBits* has_bits) {
    (*has_bits)[2] |= 268435456u;
  }
  static void set_has_delta(HasBits* has_bits) {
    (*has_bits)[2] |= 536870912u;
  }
  static void set_has_stockrangelower(HasBits* has_bits) {
    (*has_bits)[2] |= 1073741824u;
  }
  static void set_has_stockrangeupper(HasBits* has_bits) {
    (*has_bits)[2] |= 2147483648u;
  }
  static void set_has_notheld(HasBits* has_bits) {
    (*has_bits)[3] |= 2u;
  }
  static void set_has_solicited(HasBits* has_bits) {
    (*has_bits)[3] |= 4u;
  }
  static void set_has_randomizesize(HasBits* has_bits) {
    (*has_bits)[3] |= 8u;
  }
  static void set_has_randomizeprice(HasBits* has_bits) {
    (*has_bits)[3] |= 512u;
  }
  static void set_has_referencecontractid(HasBits* has_bits) {
    (*has_bits)[3] |= 16u;
  }
  static void set_has_peggedchangeamount(HasBits* has_bits) {
    (*has_bits)[3] |= 32u;
  }
  static void set_has_ispeggedchangeamountdecrease(HasBits* has_bits) {
    (*has_bits)[3] |= 1024u;
  }
  static void set_has_referencechangeamount(HasBits* has_bits) {
    (*has_bits)[3] |= 64u;
  }
  static void set_has_referenceexchangeid(HasBits* has_bits) {
    (*has_bits)[0] |= 2147483648u;
  }
  static void set_has_adjustedordertype(HasBits* has_bits) {
    (*has_bits)[1] |= 1u;
  }
  static void set_has_triggerprice(HasBits* has_bits) {
    (*has_bits)[3] |= 128u;
  }
  static void set_has_adjustedstopprice(HasBits* has_bits) {
    (*has_bits)[3] |= 256u;
  }
  static void set_has_adjustedstoplimitprice(HasBits* has_bits) {
    (*has_bits)[3] |= 16384u;
  }
  static void set_has_adjustedtrailingamount(HasBits* has_bits) {
    (*has_bits)[3] |= 32768u;
  }
  static void set_has_adjustabletrailingunit(HasBits* has_bits) {
    (*has_bits)[3] |= 8192u;
  }
  static void set_has_lmtpriceoffset(HasBits* has_bits) {
    (*has_bits)[3] |= 65536u;
  }
  static void set_has_conditionscancelorder(HasBits* has_bits) {
    (*has_bits)[3] |= 2048u;
  }
  static void set_has_conditionsignorerth(HasBits* has_bits) {
    (*has_bits)[3] |= 4096u;
  }
  static void set_has_modelcode(HasBits* has_bits) {
    (*has_bits)[1] |= 2u;
  }
  static void set_has_extoperator(HasBits* has_bits) {
    (*has_bits)[1] |= 4u;
  }
  static const ::protobuf::SoftDollarTier& softdollartier(const Order* msg);
  static void set_has_softdollartier(HasBits* has_bits) {
    (*has_bits)[1] |= 32768u;
  }
  static void set_has_cashqty(HasBits* has_bits) {
    (*has_bits)[3] |= 131072u;
  }
  static void set_has_mifid2decisionmaker(HasBits* has_bits) {
    (*has_bits)[1] |= 8u;
  }
  static void set_has_mifid2decisionalgo(HasBits* has_bits) {
    (*has_bits)[1] |= 16u;
  }
  static void set_has_mifid2executiontrader(HasBits* has_bits) {
    (*has_bits)[1] |= 32u;
  }
  static void set_has_mifid2executionalgo(HasBits* has_bits) {
    (*has_bits)[1] |= 64u;
  }
  static void set_has_dontuseautopriceforhedge(HasBits* has_bits) {
    (*has_bits)[3] |= 262144u;
  }
  static void set_has_isomscontainer(HasBits* has_bits) {
    (*has_bits)[3] |= 524288u;
  }
  static void set_has_discretionaryuptolimitprice(HasBits* has_bits) {
    (*has_bits)[3] |= 1048576u;
  }
  static void set_has_autocanceldate(HasBits* has_bits) {
    (*has_bits)[1] |= 128u;
  }
  static void set_has_filledquantity(HasBits* has_bits) {
    (*has_bits)[1] |= 256u;
  }
  static void set_has_reffuturesconid(HasBits* has_bits) {
    (*has_bits)[3] |= 4194304u;
  }
  static void set_has_autocancelparent(HasBits* has_bits) {
    (*has_bits)[3] |= 2097152u;
  }
  static void set_has_shareholder(HasBits* has_bits) {
    (*has_bits)[1] |= 512u;
  }
  static void set_has_imbalanceonly(HasBits* has_bits) {
    (*has_bits)[3] |= 134217728u;
  }
  static void set_has_routemarketabletobbo(HasBits* has_bits) {
    (*has_bits)[3] |= 268435456u;
  }
  static void set_has_parentpermid(HasBits* has_bits) {
    (*has_bits)[3] |= 8388608u;
  }
  static void set_has_usepricemgmtalgo(HasBits* has_bits) {
    (*has_bits)[3] |= 16777216u;
  }
  static void set_has_duration(HasBits* has_bits) {
    (*has_bits)[3] |= 33554432u;
  }
  static void set_has_posttoats(HasBits* has_bits) {
    (*has_bits)[3] |= 67108864u;
  }
  static void set_has_advancederroroverride(HasBits* has_bits) {
    (*has_bits)[1] |= 1024u;
  }
  static void set_has_manualordertime(HasBits* has_bits) {
    (*has_bits)[1] |= 2048u;
  }
  static void set_has_mintradeqty(HasBits* has_bits) {
    (*has_bits)[3] |= 2147483648u;
  }
  static void set_has_mincompetesize(HasBits* has_bits) {
    (*has_bits)[4] |= 1u;
  }
  static void set_has_competeagainstbestoffset(HasBits* has_bits) {
    (*has_bits)[4] |= 2u;
  }
  static void set_has_midoffsetatwhole(HasBits* has_bits) {
    (*has_bits)[4] |= 4u;
  }
  static void set_has_midoffsetathalf(HasBits* has_bits) {
    (*has_bits)[4] |= 8u;
  }
  static void set_has_customeraccount(HasBits* has_bits) {
    (*has_bits)[1] |= 4096u;
  }
  static void set_has_professionalcustomer(HasBits* has_bits) {
    (*has_bits)[3] |= 536870912u;
  }
  static void set_has_bondaccruedinterest(HasBits* has_bits) {
    (*has_bits)[1] |= 8192u;
  }
  static void set_has_includeovernight(HasBits* has_bits) {
    (*has_bits)[3] |= 1073741824u;
  }
  static void set_has_manualorderindicator(HasBits* has_bits) {
    (*has_bits)[4] |= 16u;
  }
  static void set_has_submitter(HasBits* has_bits) {
    (*has_bits)[1] |= 16384u;
  }
};

const ::protobuf::SoftDollarTier&
Order::_Internal::softdollartier(const Order* msg) {
  return *msg->softdollartier_;
}
void Order::clear_conditions() {
  conditions_.Clear();
}
void Order::clear_softdollartier() {
  if (GetArena() == nullptr && softdollartier_ != nullptr) {
    delete softdollartier_;
  }
  softdollartier_ = nullptr;
  _has_bits_[1] &= ~0x00008000u;
}
Order::Order(::PROTOBUF_NAMESPACE_ID::Arena* arena)
  : ::PROTOBUF_NAMESPACE_ID::Message(arena),
  algoparams_(arena),
  smartcomboroutingparams_(arena),
  ordermiscoptions_(arena),
  conditions_(arena) {
  SharedCtor();
  RegisterArenaDtor(arena);
  // @@protoc_insertion_point(arena_constructor:protobuf.Order)
}
Order::Order(const Order& from)
  : ::PROTOBUF_NAMESPACE_ID::Message(),
      _has_bits_(from._has_bits_),
      conditions_(from.conditions_) {
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  algoparams_.MergeFrom(from.algoparams_);
  smartcomboroutingparams_.MergeFrom(from.smartcomboroutingparams_);
  ordermiscoptions_.MergeFrom(from.ordermiscoptions_);
  action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_action()) {
    action_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_action(),
      GetArena());
  }
  totalquantity_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_totalquantity()) {
    totalquantity_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_totalquantity(),
      GetArena());
  }
  ordertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_ordertype()) {
    ordertype_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_ordertype(),
      GetArena());
  }
  tif_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_tif()) {
    tif_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_tif(),
      GetArena());
  }
  account_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_account()) {
    account_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_account(),
      GetArena());
  }
  settlingfirm_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_settlingfirm()) {
    settlingfirm_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_settlingfirm(),
      GetArena());
  }
  clearingaccount_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_clearingaccount()) {
    clearingaccount_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_clearingaccount(),
      GetArena());
  }
  clearingintent_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_clearingintent()) {
    clearingintent_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_clearingintent(),
      GetArena());
  }
  goodaftertime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_goodaftertime()) {
    goodaftertime_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_goodaftertime(),
      GetArena());
  }
  goodtilldate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_goodtilldate()) {
    goodtilldate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_goodtilldate(),
      GetArena());
  }
  ocagroup_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_ocagroup()) {
    ocagroup_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_ocagroup(),
      GetArena());
  }
  orderref_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_orderref()) {
    orderref_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_orderref(),
      GetArena());
  }
  rule80a_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_rule80a()) {
    rule80a_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_rule80a(),
      GetArena());
  }
  activestarttime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_activestarttime()) {
    activestarttime_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_activestarttime(),
      GetArena());
  }
  activestoptime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_activestoptime()) {
    activestoptime_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_activestoptime(),
      GetArena());
  }
  fagroup_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_fagroup()) {
    fagroup_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_fagroup(),
      GetArena());
  }
  famethod_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_famethod()) {
    famethod_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_famethod(),
      GetArena());
  }
  fapercentage_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_fapercentage()) {
    fapercentage_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_fapercentage(),
      GetArena());
  }
  deltaneutralordertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_deltaneutralordertype()) {
    deltaneutralordertype_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_deltaneutralordertype(),
      GetArena());
  }
  deltaneutralopenclose_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_deltaneutralopenclose()) {
    deltaneutralopenclose_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_deltaneutralopenclose(),
      GetArena());
  }
  deltaneutraldesignatedlocation_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_deltaneutraldesignatedlocation()) {
    deltaneutraldesignatedlocation_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_deltaneutraldesignatedlocation(),
      GetArena());
  }
  scaletable_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_scaletable()) {
    scaletable_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_scaletable(),
      GetArena());
  }
  hedgetype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_hedgetype()) {
    hedgetype_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_hedgetype(),
      GetArena());
  }
  hedgeparam_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_hedgeparam()) {
    hedgeparam_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_hedgeparam(),
      GetArena());
  }
  algostrategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_algostrategy()) {
    algostrategy_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_algostrategy(),
      GetArena());
  }
  algoid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_algoid()) {
    algoid_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_algoid(),
      GetArena());
  }
  openclose_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_openclose()) {
    openclose_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_openclose(),
      GetArena());
  }
  designatedlocation_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_designatedlocation()) {
    designatedlocation_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_designatedlocation(),
      GetArena());
  }
  deltaneutralsettlingfirm_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_deltaneutralsettlingfirm()) {
    deltaneutralsettlingfirm_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_deltaneutralsettlingfirm(),
      GetArena());
  }
  deltaneutralclearingaccount_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_deltaneutralclearingaccount()) {
    deltaneutralclearingaccount_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_deltaneutralclearingaccount(),
      GetArena());
  }
  deltaneutralclearingintent_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_deltaneutralclearingintent()) {
    deltaneutralclearingintent_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_deltaneutralclearingintent(),
      GetArena());
  }
  referenceexchangeid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_referenceexchangeid()) {
    referenceexchangeid_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_referenceexchangeid(),
      GetArena());
  }
  adjustedordertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_adjustedordertype()) {
    adjustedordertype_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_adjustedordertype(),
      GetArena());
  }
  modelcode_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_modelcode()) {
    modelcode_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_modelcode(),
      GetArena());
  }
  extoperator_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_extoperator()) {
    extoperator_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_extoperator(),
      GetArena());
  }
  mifid2decisionmaker_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_mifid2decisionmaker()) {
    mifid2decisionmaker_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_mifid2decisionmaker(),
      GetArena());
  }
  mifid2decisionalgo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_mifid2decisionalgo()) {
    mifid2decisionalgo_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_mifid2decisionalgo(),
      GetArena());
  }
  mifid2executiontrader_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_mifid2executiontrader()) {
    mifid2executiontrader_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_mifid2executiontrader(),
      GetArena());
  }
  mifid2executionalgo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_mifid2executionalgo()) {
    mifid2executionalgo_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_mifid2executionalgo(),
      GetArena());
  }
  autocanceldate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_autocanceldate()) {
    autocanceldate_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_autocanceldate(),
      GetArena());
  }
  filledquantity_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_filledquantity()) {
    filledquantity_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_filledquantity(),
      GetArena());
  }
  shareholder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_shareholder()) {
    shareholder_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_shareholder(),
      GetArena());
  }
  advancederroroverride_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_advancederroroverride()) {
    advancederroroverride_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_advancederroroverride(),
      GetArena());
  }
  manualordertime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_manualordertime()) {
    manualordertime_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_manualordertime(),
      GetArena());
  }
  customeraccount_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_customeraccount()) {
    customeraccount_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_customeraccount(),
      GetArena());
  }
  bondaccruedinterest_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_bondaccruedinterest()) {
    bondaccruedinterest_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_bondaccruedinterest(),
      GetArena());
  }
  submitter_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (from._internal_has_submitter()) {
    submitter_.Set(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), from._internal_submitter(),
      GetArena());
  }
  if (from._internal_has_softdollartier()) {
    softdollartier_ = new ::protobuf::SoftDollarTier(*from.softdollartier_);
  } else {
    softdollartier_ = nullptr;
  }
  ::memcpy(&clientid_, &from.clientid_,
    static_cast<size_t>(reinterpret_cast<char*>(&manualorderindicator_) -
    reinterpret_cast<char*>(&clientid_)) + sizeof(manualorderindicator_));
  // @@protoc_insertion_point(copy_constructor:protobuf.Order)
}

void Order::SharedCtor() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&scc_info_Order_Order_2eproto.base);
  action_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  totalquantity_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ordertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  tif_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  account_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  settlingfirm_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  clearingaccount_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  clearingintent_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  goodaftertime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  goodtilldate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ocagroup_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  orderref_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  rule80a_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  activestarttime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  activestoptime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fagroup_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  famethod_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fapercentage_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralordertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralopenclose_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutraldesignatedlocation_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  scaletable_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  hedgetype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  hedgeparam_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  algostrategy_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  algoid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  openclose_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  designatedlocation_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralsettlingfirm_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralclearingaccount_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralclearingintent_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  referenceexchangeid_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  adjustedordertype_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  modelcode_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  extoperator_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2decisionmaker_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2decisionalgo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2executiontrader_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2executionalgo_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  autocanceldate_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  filledquantity_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  shareholder_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  advancederroroverride_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  manualordertime_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  customeraccount_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  bondaccruedinterest_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  submitter_.UnsafeSetDefault(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ::memset(&softdollartier_, 0, static_cast<size_t>(
      reinterpret_cast<char*>(&manualorderindicator_) -
      reinterpret_cast<char*>(&softdollartier_)) + sizeof(manualorderindicator_));
}

Order::~Order() {
  // @@protoc_insertion_point(destructor:protobuf.Order)
  SharedDtor();
  _internal_metadata_.Delete<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

void Order::SharedDtor() {
  GOOGLE_DCHECK(GetArena() == nullptr);
  action_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  totalquantity_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ordertype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  tif_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  account_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  settlingfirm_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  clearingaccount_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  clearingintent_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  goodaftertime_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  goodtilldate_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  ocagroup_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  orderref_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  rule80a_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  activestarttime_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  activestoptime_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fagroup_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  famethod_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  fapercentage_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralordertype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralopenclose_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutraldesignatedlocation_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  scaletable_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  hedgetype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  hedgeparam_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  algostrategy_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  algoid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  openclose_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  designatedlocation_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralsettlingfirm_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralclearingaccount_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  deltaneutralclearingintent_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  referenceexchangeid_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  adjustedordertype_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  modelcode_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  extoperator_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2decisionmaker_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2decisionalgo_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2executiontrader_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  mifid2executionalgo_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  autocanceldate_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  filledquantity_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  shareholder_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  advancederroroverride_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  manualordertime_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  customeraccount_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  bondaccruedinterest_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  submitter_.DestroyNoArena(&::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited());
  if (this != internal_default_instance()) delete softdollartier_;
}

void Order::ArenaDtor(void* object) {
  Order* _this = reinterpret_cast< Order* >(object);
  (void)_this;
}
void Order::RegisterArenaDtor(::PROTOBUF_NAMESPACE_ID::Arena*) {
}
void Order::SetCachedSize(int size) const {
  _cached_size_.Set(size);
}
const Order& Order::default_instance() {
  ::PROTOBUF_NAMESPACE_ID::internal::InitSCC(&::scc_info_Order_Order_2eproto.base);
  return *internal_default_instance();
}


void Order::Clear() {
// @@protoc_insertion_point(message_clear_start:protobuf.Order)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  algoparams_.Clear();
  smartcomboroutingparams_.Clear();
  ordermiscoptions_.Clear();
  conditions_.Clear();
  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      action_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      totalquantity_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      ordertype_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      tif_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      account_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000020u) {
      settlingfirm_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000040u) {
      clearingaccount_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000080u) {
      clearingintent_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      goodaftertime_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000200u) {
      goodtilldate_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000400u) {
      ocagroup_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000800u) {
      orderref_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00001000u) {
      rule80a_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00002000u) {
      activestarttime_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00004000u) {
      activestoptime_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00008000u) {
      fagroup_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x00ff0000u) {
    if (cached_has_bits & 0x00010000u) {
      famethod_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00020000u) {
      fapercentage_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00040000u) {
      deltaneutralordertype_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00080000u) {
      deltaneutralopenclose_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00100000u) {
      deltaneutraldesignatedlocation_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00200000u) {
      scaletable_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00400000u) {
      hedgetype_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00800000u) {
      hedgeparam_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0xff000000u) {
    if (cached_has_bits & 0x01000000u) {
      algostrategy_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x02000000u) {
      algoid_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x04000000u) {
      openclose_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x08000000u) {
      designatedlocation_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x10000000u) {
      deltaneutralsettlingfirm_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x20000000u) {
      deltaneutralclearingaccount_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x40000000u) {
      deltaneutralclearingintent_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x80000000u) {
      referenceexchangeid_.ClearNonDefaultToEmpty();
    }
  }
  cached_has_bits = _has_bits_[1];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      adjustedordertype_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000002u) {
      modelcode_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000004u) {
      extoperator_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000008u) {
      mifid2decisionmaker_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000010u) {
      mifid2decisionalgo_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000020u) {
      mifid2executiontrader_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000040u) {
      mifid2executionalgo_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000080u) {
      autocanceldate_.ClearNonDefaultToEmpty();
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      filledquantity_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000200u) {
      shareholder_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000400u) {
      advancederroroverride_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00000800u) {
      manualordertime_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00001000u) {
      customeraccount_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00002000u) {
      bondaccruedinterest_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00004000u) {
      submitter_.ClearNonDefaultToEmpty();
    }
    if (cached_has_bits & 0x00008000u) {
      if (GetArena() == nullptr && softdollartier_ != nullptr) {
        delete softdollartier_;
      }
      softdollartier_ = nullptr;
    }
  }
  if (cached_has_bits & 0x00ff0000u) {
    ::memset(&clientid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&allornone_) -
        reinterpret_cast<char*>(&clientid_)) + sizeof(allornone_));
  }
  if (cached_has_bits & 0xff000000u) {
    ::memset(&blockorder_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&ocatype_) -
        reinterpret_cast<char*>(&blockorder_)) + sizeof(ocatype_));
  }
  cached_has_bits = _has_bits_[2];
  if (cached_has_bits & 0x000000ffu) {
    ::memset(&triggermethod_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&referencepricetype_) -
        reinterpret_cast<char*>(&triggermethod_)) + sizeof(referencepricetype_));
  }
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&deltaneutralconid_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&scalepriceadjustvalue_) -
        reinterpret_cast<char*>(&deltaneutralconid_)) + sizeof(scalepriceadjustvalue_));
  }
  if (cached_has_bits & 0x00ff0000u) {
    ::memset(&scaleprofitoffset_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&origin_) -
        reinterpret_cast<char*>(&scaleprofitoffset_)) + sizeof(origin_));
  }
  if (cached_has_bits & 0xff000000u) {
    ::memset(&shortsaleslot_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&stockrangeupper_) -
        reinterpret_cast<char*>(&shortsaleslot_)) + sizeof(stockrangeupper_));
  }
  cached_has_bits = _has_bits_[3];
  if (cached_has_bits & 0x000000ffu) {
    ::memset(&optoutsmartrouting_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&triggerprice_) -
        reinterpret_cast<char*>(&optoutsmartrouting_)) + sizeof(triggerprice_));
  }
  if (cached_has_bits & 0x0000ff00u) {
    ::memset(&adjustedstopprice_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&adjustedtrailingamount_) -
        reinterpret_cast<char*>(&adjustedstopprice_)) + sizeof(adjustedtrailingamount_));
  }
  if (cached_has_bits & 0x00ff0000u) {
    ::memset(&lmtpriceoffset_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&parentpermid_) -
        reinterpret_cast<char*>(&lmtpriceoffset_)) + sizeof(parentpermid_));
  }
  if (cached_has_bits & 0xff000000u) {
    ::memset(&usepricemgmtalgo_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&mintradeqty_) -
        reinterpret_cast<char*>(&usepricemgmtalgo_)) + sizeof(mintradeqty_));
  }
  cached_has_bits = _has_bits_[4];
  if (cached_has_bits & 0x0000001fu) {
    ::memset(&mincompetesize_, 0, static_cast<size_t>(
        reinterpret_cast<char*>(&manualorderindicator_) -
        reinterpret_cast<char*>(&mincompetesize_)) + sizeof(manualorderindicator_));
  }
  _has_bits_.Clear();
  _internal_metadata_.Clear<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>();
}

const char* Order::_InternalParse(const char* ptr, ::PROTOBUF_NAMESPACE_ID::internal::ParseContext* ctx) {
#define CHK_(x) if (PROTOBUF_PREDICT_FALSE(!(x))) goto failure
  ::PROTOBUF_NAMESPACE_ID::Arena* arena = GetArena(); (void)arena;
  while (!ctx->Done(&ptr)) {
    ::PROTOBUF_NAMESPACE_ID::uint32 tag;
    ptr = ::PROTOBUF_NAMESPACE_ID::internal::ReadTag(ptr, &tag);
    CHK_(ptr);
    switch (tag >> 3) {
      // int32 clientId = 1;
      case 1:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_clientid(&_has_bits_);
          clientid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 orderId = 2;
      case 2:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_orderid(&_has_bits_);
          orderid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 permId = 3;
      case 3:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_permid(&_has_bits_);
          permid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 parentId = 4;
      case 4:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 32)) {
          _Internal::set_has_parentid(&_has_bits_);
          parentid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string action = 5;
      case 5:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 42)) {
          auto str = _internal_mutable_action();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.action"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string totalQuantity = 6;
      case 6:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_totalquantity();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.totalQuantity"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 displaySize = 7;
      case 7:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_displaysize(&_has_bits_);
          displaysize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string orderType = 8;
      case 8:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          auto str = _internal_mutable_ordertype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.orderType"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double lmtPrice = 9;
      case 9:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 73)) {
          _Internal::set_has_lmtprice(&_has_bits_);
          lmtprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double auxPrice = 10;
      case 10:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 81)) {
          _Internal::set_has_auxprice(&_has_bits_);
          auxprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // string tif = 11;
      case 11:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          auto str = _internal_mutable_tif();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.tif"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string account = 12;
      case 12:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          auto str = _internal_mutable_account();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.account"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string settlingFirm = 13;
      case 13:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          auto str = _internal_mutable_settlingfirm();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.settlingFirm"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string clearingAccount = 14;
      case 14:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          auto str = _internal_mutable_clearingaccount();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.clearingAccount"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string clearingIntent = 15;
      case 15:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          auto str = _internal_mutable_clearingintent();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.clearingIntent"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool allOrNone = 16;
      case 16:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          _Internal::set_has_allornone(&_has_bits_);
          allornone_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool blockOrder = 17;
      case 17:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          _Internal::set_has_blockorder(&_has_bits_);
          blockorder_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool hidden = 18;
      case 18:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 144)) {
          _Internal::set_has_hidden(&_has_bits_);
          hidden_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool outsideRth = 19;
      case 19:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
          _Internal::set_has_outsiderth(&_has_bits_);
          outsiderth_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool sweepToFill = 20;
      case 20:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
          _Internal::set_has_sweeptofill(&_has_bits_);
          sweeptofill_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double percentOffset = 21;
      case 21:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 169)) {
          _Internal::set_has_percentoffset(&_has_bits_);
          percentoffset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double trailingPercent = 22;
      case 22:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 177)) {
          _Internal::set_has_trailingpercent(&_has_bits_);
          trailingpercent_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double trailStopPrice = 23;
      case 23:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 185)) {
          _Internal::set_has_trailstopprice(&_has_bits_);
          trailstopprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // int32 minQty = 24;
      case 24:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
          _Internal::set_has_minqty(&_has_bits_);
          minqty_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string goodAfterTime = 25;
      case 25:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 202)) {
          auto str = _internal_mutable_goodaftertime();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.goodAfterTime"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string goodTillDate = 26;
      case 26:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          auto str = _internal_mutable_goodtilldate();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.goodTillDate"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string ocaGroup = 27;
      case 27:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          auto str = _internal_mutable_ocagroup();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.ocaGroup"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string orderRef = 28;
      case 28:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          auto str = _internal_mutable_orderref();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.orderRef"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string rule80A = 29;
      case 29:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          auto str = _internal_mutable_rule80a();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.rule80A"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 ocaType = 30;
      case 30:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 240)) {
          _Internal::set_has_ocatype(&_has_bits_);
          ocatype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 triggerMethod = 31;
      case 31:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
          _Internal::set_has_triggermethod(&_has_bits_);
          triggermethod_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string activeStartTime = 32;
      case 32:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          auto str = _internal_mutable_activestarttime();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.activeStartTime"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string activeStopTime = 33;
      case 33:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 10)) {
          auto str = _internal_mutable_activestoptime();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.activeStopTime"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string faGroup = 34;
      case 34:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 18)) {
          auto str = _internal_mutable_fagroup();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.faGroup"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string faMethod = 35;
      case 35:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 26)) {
          auto str = _internal_mutable_famethod();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.faMethod"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string faPercentage = 36;
      case 36:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_fapercentage();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.faPercentage"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double volatility = 37;
      case 37:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 41)) {
          _Internal::set_has_volatility(&_has_bits_);
          volatility_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // int32 volatilityType = 38;
      case 38:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          _Internal::set_has_volatilitytype(&_has_bits_);
          volatilitytype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool continuousUpdate = 39;
      case 39:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_continuousupdate(&_has_bits_);
          continuousupdate_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 referencePriceType = 40;
      case 40:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          _Internal::set_has_referencepricetype(&_has_bits_);
          referencepricetype_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string deltaNeutralOrderType = 41;
      case 41:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          auto str = _internal_mutable_deltaneutralordertype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.deltaNeutralOrderType"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double deltaNeutralAuxPrice = 42;
      case 42:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 81)) {
          _Internal::set_has_deltaneutralauxprice(&_has_bits_);
          deltaneutralauxprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // int32 deltaNeutralConId = 43;
      case 43:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 88)) {
          _Internal::set_has_deltaneutralconid(&_has_bits_);
          deltaneutralconid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string deltaNeutralOpenClose = 44;
      case 44:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          auto str = _internal_mutable_deltaneutralopenclose();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.deltaNeutralOpenClose"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool deltaNeutralShortSale = 45;
      case 45:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          _Internal::set_has_deltaneutralshortsale(&_has_bits_);
          deltaneutralshortsale_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 deltaNeutralShortSaleSlot = 46;
      case 46:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 112)) {
          _Internal::set_has_deltaneutralshortsaleslot(&_has_bits_);
          deltaneutralshortsaleslot_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string deltaNeutralDesignatedLocation = 47;
      case 47:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 122)) {
          auto str = _internal_mutable_deltaneutraldesignatedlocation();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.deltaNeutralDesignatedLocation"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 scaleInitLevelSize = 48;
      case 48:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          _Internal::set_has_scaleinitlevelsize(&_has_bits_);
          scaleinitlevelsize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 scaleSubsLevelSize = 49;
      case 49:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          _Internal::set_has_scalesubslevelsize(&_has_bits_);
          scalesubslevelsize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double scalePriceIncrement = 50;
      case 50:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 145)) {
          _Internal::set_has_scalepriceincrement(&_has_bits_);
          scalepriceincrement_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double scalePriceAdjustValue = 51;
      case 51:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 153)) {
          _Internal::set_has_scalepriceadjustvalue(&_has_bits_);
          scalepriceadjustvalue_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // int32 scalePriceAdjustInterval = 52;
      case 52:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
          _Internal::set_has_scalepriceadjustinterval(&_has_bits_);
          scalepriceadjustinterval_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double scaleProfitOffset = 53;
      case 53:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 169)) {
          _Internal::set_has_scaleprofitoffset(&_has_bits_);
          scaleprofitoffset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // bool scaleAutoReset = 54;
      case 54:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
          _Internal::set_has_scaleautoreset(&_has_bits_);
          scaleautoreset_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 scaleInitPosition = 55;
      case 55:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
          _Internal::set_has_scaleinitposition(&_has_bits_);
          scaleinitposition_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 scaleInitFillQty = 56;
      case 56:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
          _Internal::set_has_scaleinitfillqty(&_has_bits_);
          scaleinitfillqty_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool scaleRandomPercent = 57;
      case 57:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
          _Internal::set_has_scalerandompercent(&_has_bits_);
          scalerandompercent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string scaleTable = 58;
      case 58:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 210)) {
          auto str = _internal_mutable_scaletable();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.scaleTable"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string hedgeType = 59;
      case 59:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 218)) {
          auto str = _internal_mutable_hedgetype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.hedgeType"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string hedgeParam = 60;
      case 60:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          auto str = _internal_mutable_hedgeparam();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.hedgeParam"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string algoStrategy = 61;
      case 61:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          auto str = _internal_mutable_algostrategy();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.algoStrategy"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // map<string, string> algoParams = 62;
      case 62:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(&algoparams_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<498>(ptr));
        } else goto handle_unusual;
        continue;
      // string algoId = 63;
      case 63:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 250)) {
          auto str = _internal_mutable_algoid();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.algoId"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // map<string, string> smartComboRoutingParams = 64;
      case 64:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 2)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(&smartcomboroutingparams_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<514>(ptr));
        } else goto handle_unusual;
        continue;
      // bool whatIf = 65;
      case 65:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 8)) {
          _Internal::set_has_whatif(&_has_bits_);
          whatif_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool transmit = 66;
      case 66:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_transmit(&_has_bits_);
          transmit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool overridePercentageConstraints = 67;
      case 67:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 24)) {
          _Internal::set_has_overridepercentageconstraints(&_has_bits_);
          overridepercentageconstraints_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string openClose = 68;
      case 68:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_openclose();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.openClose"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 origin = 69;
      case 69:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          _Internal::set_has_origin(&_has_bits_);
          origin_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 shortSaleSlot = 70;
      case 70:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          _Internal::set_has_shortsaleslot(&_has_bits_);
          shortsaleslot_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string designatedLocation = 71;
      case 71:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          auto str = _internal_mutable_designatedlocation();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.designatedLocation"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 exemptCode = 72;
      case 72:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          _Internal::set_has_exemptcode(&_has_bits_);
          exemptcode_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string deltaNeutralSettlingFirm = 73;
      case 73:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          auto str = _internal_mutable_deltaneutralsettlingfirm();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.deltaNeutralSettlingFirm"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string deltaNeutralClearingAccount = 74;
      case 74:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 82)) {
          auto str = _internal_mutable_deltaneutralclearingaccount();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.deltaNeutralClearingAccount"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string deltaNeutralClearingIntent = 75;
      case 75:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          auto str = _internal_mutable_deltaneutralclearingintent();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.deltaNeutralClearingIntent"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double discretionaryAmt = 76;
      case 76:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 97)) {
          _Internal::set_has_discretionaryamt(&_has_bits_);
          discretionaryamt_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // bool optOutSmartRouting = 77;
      case 77:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 104)) {
          _Internal::set_has_optoutsmartrouting(&_has_bits_);
          optoutsmartrouting_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double startingPrice = 78;
      case 78:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 113)) {
          _Internal::set_has_startingprice(&_has_bits_);
          startingprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double stockRefPrice = 79;
      case 79:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 121)) {
          _Internal::set_has_stockrefprice(&_has_bits_);
          stockrefprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double delta = 80;
      case 80:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 129)) {
          _Internal::set_has_delta(&_has_bits_);
          delta_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double stockRangeLower = 81;
      case 81:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 137)) {
          _Internal::set_has_stockrangelower(&_has_bits_);
          stockrangelower_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double stockRangeUpper = 82;
      case 82:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 145)) {
          _Internal::set_has_stockrangeupper(&_has_bits_);
          stockrangeupper_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // bool notHeld = 83;
      case 83:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 152)) {
          _Internal::set_has_notheld(&_has_bits_);
          notheld_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // map<string, string> orderMiscOptions = 84;
      case 84:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 162)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(&ordermiscoptions_, ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<674>(ptr));
        } else goto handle_unusual;
        continue;
      // bool solicited = 85;
      case 85:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
          _Internal::set_has_solicited(&_has_bits_);
          solicited_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool randomizeSize = 86;
      case 86:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 176)) {
          _Internal::set_has_randomizesize(&_has_bits_);
          randomizesize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool randomizePrice = 87;
      case 87:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
          _Internal::set_has_randomizeprice(&_has_bits_);
          randomizeprice_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 referenceContractId = 88;
      case 88:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
          _Internal::set_has_referencecontractid(&_has_bits_);
          referencecontractid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double peggedChangeAmount = 89;
      case 89:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 201)) {
          _Internal::set_has_peggedchangeamount(&_has_bits_);
          peggedchangeamount_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // bool isPeggedChangeAmountDecrease = 90;
      case 90:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
          _Internal::set_has_ispeggedchangeamountdecrease(&_has_bits_);
          ispeggedchangeamountdecrease_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double referenceChangeAmount = 91;
      case 91:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 217)) {
          _Internal::set_has_referencechangeamount(&_has_bits_);
          referencechangeamount_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // string referenceExchangeId = 92;
      case 92:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 226)) {
          auto str = _internal_mutable_referenceexchangeid();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.referenceExchangeId"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string adjustedOrderType = 93;
      case 93:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          auto str = _internal_mutable_adjustedordertype();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.adjustedOrderType"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double triggerPrice = 94;
      case 94:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 241)) {
          _Internal::set_has_triggerprice(&_has_bits_);
          triggerprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double adjustedStopPrice = 95;
      case 95:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 249)) {
          _Internal::set_has_adjustedstopprice(&_has_bits_);
          adjustedstopprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double adjustedStopLimitPrice = 96;
      case 96:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 1)) {
          _Internal::set_has_adjustedstoplimitprice(&_has_bits_);
          adjustedstoplimitprice_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double adjustedTrailingAmount = 97;
      case 97:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 9)) {
          _Internal::set_has_adjustedtrailingamount(&_has_bits_);
          adjustedtrailingamount_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // int32 adjustableTrailingUnit = 98;
      case 98:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 16)) {
          _Internal::set_has_adjustabletrailingunit(&_has_bits_);
          adjustabletrailingunit_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double lmtPriceOffset = 99;
      case 99:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
          _Internal::set_has_lmtpriceoffset(&_has_bits_);
          lmtpriceoffset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // repeated .protobuf.OrderCondition conditions = 100;
      case 100:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          ptr -= 2;
          do {
            ptr += 2;
            ptr = ctx->ParseMessage(_internal_add_conditions(), ptr);
            CHK_(ptr);
            if (!ctx->DataAvailable(ptr)) break;
          } while (::PROTOBUF_NAMESPACE_ID::internal::ExpectTag<802>(ptr));
        } else goto handle_unusual;
        continue;
      // bool conditionsCancelOrder = 101;
      case 101:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          _Internal::set_has_conditionscancelorder(&_has_bits_);
          conditionscancelorder_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool conditionsIgnoreRth = 102;
      case 102:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 48)) {
          _Internal::set_has_conditionsignorerth(&_has_bits_);
          conditionsignorerth_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string modelCode = 103;
      case 103:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 58)) {
          auto str = _internal_mutable_modelcode();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.modelCode"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string extOperator = 104;
      case 104:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 66)) {
          auto str = _internal_mutable_extoperator();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.extOperator"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // .protobuf.SoftDollarTier softDollarTier = 105;
      case 105:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          ptr = ctx->ParseMessage(_internal_mutable_softdollartier(), ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double cashQty = 106;
      case 106:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 81)) {
          _Internal::set_has_cashqty(&_has_bits_);
          cashqty_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // string mifid2DecisionMaker = 107;
      case 107:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 90)) {
          auto str = _internal_mutable_mifid2decisionmaker();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.mifid2DecisionMaker"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string mifid2DecisionAlgo = 108;
      case 108:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 98)) {
          auto str = _internal_mutable_mifid2decisionalgo();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.mifid2DecisionAlgo"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string mifid2ExecutionTrader = 109;
      case 109:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 106)) {
          auto str = _internal_mutable_mifid2executiontrader();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.mifid2ExecutionTrader"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string mifid2ExecutionAlgo = 110;
      case 110:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 114)) {
          auto str = _internal_mutable_mifid2executionalgo();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.mifid2ExecutionAlgo"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool dontUseAutoPriceForHedge = 111;
      case 111:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 120)) {
          _Internal::set_has_dontuseautopriceforhedge(&_has_bits_);
          dontuseautopriceforhedge_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool isOmsContainer = 112;
      case 112:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 128)) {
          _Internal::set_has_isomscontainer(&_has_bits_);
          isomscontainer_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool discretionaryUpToLimitPrice = 113;
      case 113:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 136)) {
          _Internal::set_has_discretionaryuptolimitprice(&_has_bits_);
          discretionaryuptolimitprice_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string autoCancelDate = 114;
      case 114:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 146)) {
          auto str = _internal_mutable_autocanceldate();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.autoCancelDate"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string filledQuantity = 115;
      case 115:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 154)) {
          auto str = _internal_mutable_filledquantity();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.filledQuantity"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 refFuturesConId = 116;
      case 116:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 160)) {
          _Internal::set_has_reffuturesconid(&_has_bits_);
          reffuturesconid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool autoCancelParent = 117;
      case 117:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 168)) {
          _Internal::set_has_autocancelparent(&_has_bits_);
          autocancelparent_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string shareholder = 118;
      case 118:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 178)) {
          auto str = _internal_mutable_shareholder();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.shareholder"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool imbalanceOnly = 119;
      case 119:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 184)) {
          _Internal::set_has_imbalanceonly(&_has_bits_);
          imbalanceonly_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool routeMarketableToBbo = 120;
      case 120:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 192)) {
          _Internal::set_has_routemarketabletobbo(&_has_bits_);
          routemarketabletobbo_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int64 parentPermId = 121;
      case 121:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 200)) {
          _Internal::set_has_parentpermid(&_has_bits_);
          parentpermid_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 usePriceMgmtAlgo = 122;
      case 122:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 208)) {
          _Internal::set_has_usepricemgmtalgo(&_has_bits_);
          usepricemgmtalgo_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 duration = 123;
      case 123:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 216)) {
          _Internal::set_has_duration(&_has_bits_);
          duration_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 postToAts = 124;
      case 124:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 224)) {
          _Internal::set_has_posttoats(&_has_bits_);
          posttoats_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string advancedErrorOverride = 125;
      case 125:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 234)) {
          auto str = _internal_mutable_advancederroroverride();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.advancedErrorOverride"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string manualOrderTime = 126;
      case 126:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 242)) {
          auto str = _internal_mutable_manualordertime();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.manualOrderTime"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 minTradeQty = 127;
      case 127:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 248)) {
          _Internal::set_has_mintradeqty(&_has_bits_);
          mintradeqty_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 minCompeteSize = 128;
      case 128:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 0)) {
          _Internal::set_has_mincompetesize(&_has_bits_);
          mincompetesize_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // double competeAgainstBestOffset = 129;
      case 129:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 9)) {
          _Internal::set_has_competeagainstbestoffset(&_has_bits_);
          competeagainstbestoffset_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double midOffsetAtWhole = 130;
      case 130:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 17)) {
          _Internal::set_has_midoffsetatwhole(&_has_bits_);
          midoffsetatwhole_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // double midOffsetAtHalf = 131;
      case 131:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 25)) {
          _Internal::set_has_midoffsetathalf(&_has_bits_);
          midoffsetathalf_ = ::PROTOBUF_NAMESPACE_ID::internal::UnalignedLoad<double>(ptr);
          ptr += sizeof(double);
        } else goto handle_unusual;
        continue;
      // string customerAccount = 132;
      case 132:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 34)) {
          auto str = _internal_mutable_customeraccount();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.customerAccount"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool professionalCustomer = 133;
      case 133:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 40)) {
          _Internal::set_has_professionalcustomer(&_has_bits_);
          professionalcustomer_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string bondAccruedInterest = 134;
      case 134:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 50)) {
          auto str = _internal_mutable_bondaccruedinterest();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.bondAccruedInterest"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // bool includeOvernight = 135;
      case 135:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 56)) {
          _Internal::set_has_includeovernight(&_has_bits_);
          includeovernight_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // int32 manualOrderIndicator = 136;
      case 136:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 64)) {
          _Internal::set_has_manualorderindicator(&_has_bits_);
          manualorderindicator_ = ::PROTOBUF_NAMESPACE_ID::internal::ReadVarint64(&ptr);
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      // string submitter = 137;
      case 137:
        if (PROTOBUF_PREDICT_TRUE(static_cast<::PROTOBUF_NAMESPACE_ID::uint8>(tag) == 74)) {
          auto str = _internal_mutable_submitter();
          ptr = ::PROTOBUF_NAMESPACE_ID::internal::InlineGreedyStringParser(str, ptr, ctx);
          CHK_(::PROTOBUF_NAMESPACE_ID::internal::VerifyUTF8(str, "protobuf.Order.submitter"));
          CHK_(ptr);
        } else goto handle_unusual;
        continue;
      default: {
      handle_unusual:
        if ((tag & 7) == 4 || tag == 0) {
          ctx->SetLastTag(tag);
          goto success;
        }
        ptr = UnknownFieldParse(tag,
            _internal_metadata_.mutable_unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(),
            ptr, ctx);
        CHK_(ptr != nullptr);
        continue;
      }
    }  // switch
  }  // while
success:
  return ptr;
failure:
  ptr = nullptr;
  goto success;
#undef CHK_
}

::PROTOBUF_NAMESPACE_ID::uint8* Order::_InternalSerialize(
    ::PROTOBUF_NAMESPACE_ID::uint8* target, ::PROTOBUF_NAMESPACE_ID::io::EpsCopyOutputStream* stream) const {
  // @@protoc_insertion_point(serialize_to_array_start:protobuf.Order)
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  // int32 clientId = 1;
  if (_internal_has_clientid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(1, this->_internal_clientid(), target);
  }

  // int32 orderId = 2;
  if (_internal_has_orderid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(2, this->_internal_orderid(), target);
  }

  // int64 permId = 3;
  if (_internal_has_permid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(3, this->_internal_permid(), target);
  }

  // int32 parentId = 4;
  if (_internal_has_parentid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(4, this->_internal_parentid(), target);
  }

  // string action = 5;
  if (_internal_has_action()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_action().data(), static_cast<int>(this->_internal_action().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.action");
    target = stream->WriteStringMaybeAliased(
        5, this->_internal_action(), target);
  }

  // string totalQuantity = 6;
  if (_internal_has_totalquantity()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_totalquantity().data(), static_cast<int>(this->_internal_totalquantity().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.totalQuantity");
    target = stream->WriteStringMaybeAliased(
        6, this->_internal_totalquantity(), target);
  }

  // int32 displaySize = 7;
  if (_internal_has_displaysize()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(7, this->_internal_displaysize(), target);
  }

  // string orderType = 8;
  if (_internal_has_ordertype()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_ordertype().data(), static_cast<int>(this->_internal_ordertype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.orderType");
    target = stream->WriteStringMaybeAliased(
        8, this->_internal_ordertype(), target);
  }

  // double lmtPrice = 9;
  if (_internal_has_lmtprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(9, this->_internal_lmtprice(), target);
  }

  // double auxPrice = 10;
  if (_internal_has_auxprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(10, this->_internal_auxprice(), target);
  }

  // string tif = 11;
  if (_internal_has_tif()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_tif().data(), static_cast<int>(this->_internal_tif().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.tif");
    target = stream->WriteStringMaybeAliased(
        11, this->_internal_tif(), target);
  }

  // string account = 12;
  if (_internal_has_account()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_account().data(), static_cast<int>(this->_internal_account().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.account");
    target = stream->WriteStringMaybeAliased(
        12, this->_internal_account(), target);
  }

  // string settlingFirm = 13;
  if (_internal_has_settlingfirm()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_settlingfirm().data(), static_cast<int>(this->_internal_settlingfirm().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.settlingFirm");
    target = stream->WriteStringMaybeAliased(
        13, this->_internal_settlingfirm(), target);
  }

  // string clearingAccount = 14;
  if (_internal_has_clearingaccount()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_clearingaccount().data(), static_cast<int>(this->_internal_clearingaccount().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.clearingAccount");
    target = stream->WriteStringMaybeAliased(
        14, this->_internal_clearingaccount(), target);
  }

  // string clearingIntent = 15;
  if (_internal_has_clearingintent()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_clearingintent().data(), static_cast<int>(this->_internal_clearingintent().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.clearingIntent");
    target = stream->WriteStringMaybeAliased(
        15, this->_internal_clearingintent(), target);
  }

  // bool allOrNone = 16;
  if (_internal_has_allornone()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(16, this->_internal_allornone(), target);
  }

  // bool blockOrder = 17;
  if (_internal_has_blockorder()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(17, this->_internal_blockorder(), target);
  }

  // bool hidden = 18;
  if (_internal_has_hidden()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(18, this->_internal_hidden(), target);
  }

  // bool outsideRth = 19;
  if (_internal_has_outsiderth()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(19, this->_internal_outsiderth(), target);
  }

  // bool sweepToFill = 20;
  if (_internal_has_sweeptofill()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(20, this->_internal_sweeptofill(), target);
  }

  // double percentOffset = 21;
  if (_internal_has_percentoffset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(21, this->_internal_percentoffset(), target);
  }

  // double trailingPercent = 22;
  if (_internal_has_trailingpercent()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(22, this->_internal_trailingpercent(), target);
  }

  // double trailStopPrice = 23;
  if (_internal_has_trailstopprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(23, this->_internal_trailstopprice(), target);
  }

  // int32 minQty = 24;
  if (_internal_has_minqty()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(24, this->_internal_minqty(), target);
  }

  // string goodAfterTime = 25;
  if (_internal_has_goodaftertime()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_goodaftertime().data(), static_cast<int>(this->_internal_goodaftertime().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.goodAfterTime");
    target = stream->WriteStringMaybeAliased(
        25, this->_internal_goodaftertime(), target);
  }

  // string goodTillDate = 26;
  if (_internal_has_goodtilldate()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_goodtilldate().data(), static_cast<int>(this->_internal_goodtilldate().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.goodTillDate");
    target = stream->WriteStringMaybeAliased(
        26, this->_internal_goodtilldate(), target);
  }

  // string ocaGroup = 27;
  if (_internal_has_ocagroup()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_ocagroup().data(), static_cast<int>(this->_internal_ocagroup().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.ocaGroup");
    target = stream->WriteStringMaybeAliased(
        27, this->_internal_ocagroup(), target);
  }

  // string orderRef = 28;
  if (_internal_has_orderref()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_orderref().data(), static_cast<int>(this->_internal_orderref().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.orderRef");
    target = stream->WriteStringMaybeAliased(
        28, this->_internal_orderref(), target);
  }

  // string rule80A = 29;
  if (_internal_has_rule80a()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_rule80a().data(), static_cast<int>(this->_internal_rule80a().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.rule80A");
    target = stream->WriteStringMaybeAliased(
        29, this->_internal_rule80a(), target);
  }

  // int32 ocaType = 30;
  if (_internal_has_ocatype()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(30, this->_internal_ocatype(), target);
  }

  // int32 triggerMethod = 31;
  if (_internal_has_triggermethod()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(31, this->_internal_triggermethod(), target);
  }

  // string activeStartTime = 32;
  if (_internal_has_activestarttime()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_activestarttime().data(), static_cast<int>(this->_internal_activestarttime().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.activeStartTime");
    target = stream->WriteStringMaybeAliased(
        32, this->_internal_activestarttime(), target);
  }

  // string activeStopTime = 33;
  if (_internal_has_activestoptime()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_activestoptime().data(), static_cast<int>(this->_internal_activestoptime().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.activeStopTime");
    target = stream->WriteStringMaybeAliased(
        33, this->_internal_activestoptime(), target);
  }

  // string faGroup = 34;
  if (_internal_has_fagroup()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fagroup().data(), static_cast<int>(this->_internal_fagroup().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.faGroup");
    target = stream->WriteStringMaybeAliased(
        34, this->_internal_fagroup(), target);
  }

  // string faMethod = 35;
  if (_internal_has_famethod()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_famethod().data(), static_cast<int>(this->_internal_famethod().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.faMethod");
    target = stream->WriteStringMaybeAliased(
        35, this->_internal_famethod(), target);
  }

  // string faPercentage = 36;
  if (_internal_has_fapercentage()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_fapercentage().data(), static_cast<int>(this->_internal_fapercentage().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.faPercentage");
    target = stream->WriteStringMaybeAliased(
        36, this->_internal_fapercentage(), target);
  }

  // double volatility = 37;
  if (_internal_has_volatility()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(37, this->_internal_volatility(), target);
  }

  // int32 volatilityType = 38;
  if (_internal_has_volatilitytype()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(38, this->_internal_volatilitytype(), target);
  }

  // bool continuousUpdate = 39;
  if (_internal_has_continuousupdate()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(39, this->_internal_continuousupdate(), target);
  }

  // int32 referencePriceType = 40;
  if (_internal_has_referencepricetype()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(40, this->_internal_referencepricetype(), target);
  }

  // string deltaNeutralOrderType = 41;
  if (_internal_has_deltaneutralordertype()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_deltaneutralordertype().data(), static_cast<int>(this->_internal_deltaneutralordertype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.deltaNeutralOrderType");
    target = stream->WriteStringMaybeAliased(
        41, this->_internal_deltaneutralordertype(), target);
  }

  // double deltaNeutralAuxPrice = 42;
  if (_internal_has_deltaneutralauxprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(42, this->_internal_deltaneutralauxprice(), target);
  }

  // int32 deltaNeutralConId = 43;
  if (_internal_has_deltaneutralconid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(43, this->_internal_deltaneutralconid(), target);
  }

  // string deltaNeutralOpenClose = 44;
  if (_internal_has_deltaneutralopenclose()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_deltaneutralopenclose().data(), static_cast<int>(this->_internal_deltaneutralopenclose().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.deltaNeutralOpenClose");
    target = stream->WriteStringMaybeAliased(
        44, this->_internal_deltaneutralopenclose(), target);
  }

  // bool deltaNeutralShortSale = 45;
  if (_internal_has_deltaneutralshortsale()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(45, this->_internal_deltaneutralshortsale(), target);
  }

  // int32 deltaNeutralShortSaleSlot = 46;
  if (_internal_has_deltaneutralshortsaleslot()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(46, this->_internal_deltaneutralshortsaleslot(), target);
  }

  // string deltaNeutralDesignatedLocation = 47;
  if (_internal_has_deltaneutraldesignatedlocation()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_deltaneutraldesignatedlocation().data(), static_cast<int>(this->_internal_deltaneutraldesignatedlocation().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.deltaNeutralDesignatedLocation");
    target = stream->WriteStringMaybeAliased(
        47, this->_internal_deltaneutraldesignatedlocation(), target);
  }

  // int32 scaleInitLevelSize = 48;
  if (_internal_has_scaleinitlevelsize()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(48, this->_internal_scaleinitlevelsize(), target);
  }

  // int32 scaleSubsLevelSize = 49;
  if (_internal_has_scalesubslevelsize()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(49, this->_internal_scalesubslevelsize(), target);
  }

  // double scalePriceIncrement = 50;
  if (_internal_has_scalepriceincrement()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(50, this->_internal_scalepriceincrement(), target);
  }

  // double scalePriceAdjustValue = 51;
  if (_internal_has_scalepriceadjustvalue()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(51, this->_internal_scalepriceadjustvalue(), target);
  }

  // int32 scalePriceAdjustInterval = 52;
  if (_internal_has_scalepriceadjustinterval()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(52, this->_internal_scalepriceadjustinterval(), target);
  }

  // double scaleProfitOffset = 53;
  if (_internal_has_scaleprofitoffset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(53, this->_internal_scaleprofitoffset(), target);
  }

  // bool scaleAutoReset = 54;
  if (_internal_has_scaleautoreset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(54, this->_internal_scaleautoreset(), target);
  }

  // int32 scaleInitPosition = 55;
  if (_internal_has_scaleinitposition()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(55, this->_internal_scaleinitposition(), target);
  }

  // int32 scaleInitFillQty = 56;
  if (_internal_has_scaleinitfillqty()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(56, this->_internal_scaleinitfillqty(), target);
  }

  // bool scaleRandomPercent = 57;
  if (_internal_has_scalerandompercent()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(57, this->_internal_scalerandompercent(), target);
  }

  // string scaleTable = 58;
  if (_internal_has_scaletable()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_scaletable().data(), static_cast<int>(this->_internal_scaletable().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.scaleTable");
    target = stream->WriteStringMaybeAliased(
        58, this->_internal_scaletable(), target);
  }

  // string hedgeType = 59;
  if (_internal_has_hedgetype()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_hedgetype().data(), static_cast<int>(this->_internal_hedgetype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.hedgeType");
    target = stream->WriteStringMaybeAliased(
        59, this->_internal_hedgetype(), target);
  }

  // string hedgeParam = 60;
  if (_internal_has_hedgeparam()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_hedgeparam().data(), static_cast<int>(this->_internal_hedgeparam().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.hedgeParam");
    target = stream->WriteStringMaybeAliased(
        60, this->_internal_hedgeparam(), target);
  }

  // string algoStrategy = 61;
  if (_internal_has_algostrategy()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_algostrategy().data(), static_cast<int>(this->_internal_algostrategy().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.algoStrategy");
    target = stream->WriteStringMaybeAliased(
        61, this->_internal_algostrategy(), target);
  }

  // map<string, string> algoParams = 62;
  if (!this->_internal_algoparams().empty()) {
    typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
          "protobuf.Order.AlgoParamsEntry.key");
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
          "protobuf.Order.AlgoParamsEntry.value");
      }
    };

    if (stream->IsSerializationDeterministic() &&
        this->_internal_algoparams().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->_internal_algoparams().size()]);
      typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::size_type size_type;
      size_type n = 0;
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
          it = this->_internal_algoparams().begin();
          it != this->_internal_algoparams().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      for (size_type i = 0; i < n; i++) {
        target = Order_AlgoParamsEntry_DoNotUse::Funcs::InternalSerialize(62, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
          it = this->_internal_algoparams().begin();
          it != this->_internal_algoparams().end(); ++it) {
        target = Order_AlgoParamsEntry_DoNotUse::Funcs::InternalSerialize(62, it->first, it->second, target, stream);
        Utf8Check::Check(&(*it));
      }
    }
  }

  // string algoId = 63;
  if (_internal_has_algoid()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_algoid().data(), static_cast<int>(this->_internal_algoid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.algoId");
    target = stream->WriteStringMaybeAliased(
        63, this->_internal_algoid(), target);
  }

  // map<string, string> smartComboRoutingParams = 64;
  if (!this->_internal_smartcomboroutingparams().empty()) {
    typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
          "protobuf.Order.SmartComboRoutingParamsEntry.key");
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
          "protobuf.Order.SmartComboRoutingParamsEntry.value");
      }
    };

    if (stream->IsSerializationDeterministic() &&
        this->_internal_smartcomboroutingparams().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->_internal_smartcomboroutingparams().size()]);
      typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::size_type size_type;
      size_type n = 0;
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
          it = this->_internal_smartcomboroutingparams().begin();
          it != this->_internal_smartcomboroutingparams().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      for (size_type i = 0; i < n; i++) {
        target = Order_SmartComboRoutingParamsEntry_DoNotUse::Funcs::InternalSerialize(64, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
          it = this->_internal_smartcomboroutingparams().begin();
          it != this->_internal_smartcomboroutingparams().end(); ++it) {
        target = Order_SmartComboRoutingParamsEntry_DoNotUse::Funcs::InternalSerialize(64, it->first, it->second, target, stream);
        Utf8Check::Check(&(*it));
      }
    }
  }

  // bool whatIf = 65;
  if (_internal_has_whatif()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(65, this->_internal_whatif(), target);
  }

  // bool transmit = 66;
  if (_internal_has_transmit()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(66, this->_internal_transmit(), target);
  }

  // bool overridePercentageConstraints = 67;
  if (_internal_has_overridepercentageconstraints()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(67, this->_internal_overridepercentageconstraints(), target);
  }

  // string openClose = 68;
  if (_internal_has_openclose()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_openclose().data(), static_cast<int>(this->_internal_openclose().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.openClose");
    target = stream->WriteStringMaybeAliased(
        68, this->_internal_openclose(), target);
  }

  // int32 origin = 69;
  if (_internal_has_origin()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(69, this->_internal_origin(), target);
  }

  // int32 shortSaleSlot = 70;
  if (_internal_has_shortsaleslot()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(70, this->_internal_shortsaleslot(), target);
  }

  // string designatedLocation = 71;
  if (_internal_has_designatedlocation()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_designatedlocation().data(), static_cast<int>(this->_internal_designatedlocation().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.designatedLocation");
    target = stream->WriteStringMaybeAliased(
        71, this->_internal_designatedlocation(), target);
  }

  // int32 exemptCode = 72;
  if (_internal_has_exemptcode()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(72, this->_internal_exemptcode(), target);
  }

  // string deltaNeutralSettlingFirm = 73;
  if (_internal_has_deltaneutralsettlingfirm()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_deltaneutralsettlingfirm().data(), static_cast<int>(this->_internal_deltaneutralsettlingfirm().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.deltaNeutralSettlingFirm");
    target = stream->WriteStringMaybeAliased(
        73, this->_internal_deltaneutralsettlingfirm(), target);
  }

  // string deltaNeutralClearingAccount = 74;
  if (_internal_has_deltaneutralclearingaccount()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_deltaneutralclearingaccount().data(), static_cast<int>(this->_internal_deltaneutralclearingaccount().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.deltaNeutralClearingAccount");
    target = stream->WriteStringMaybeAliased(
        74, this->_internal_deltaneutralclearingaccount(), target);
  }

  // string deltaNeutralClearingIntent = 75;
  if (_internal_has_deltaneutralclearingintent()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_deltaneutralclearingintent().data(), static_cast<int>(this->_internal_deltaneutralclearingintent().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.deltaNeutralClearingIntent");
    target = stream->WriteStringMaybeAliased(
        75, this->_internal_deltaneutralclearingintent(), target);
  }

  // double discretionaryAmt = 76;
  if (_internal_has_discretionaryamt()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(76, this->_internal_discretionaryamt(), target);
  }

  // bool optOutSmartRouting = 77;
  if (_internal_has_optoutsmartrouting()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(77, this->_internal_optoutsmartrouting(), target);
  }

  // double startingPrice = 78;
  if (_internal_has_startingprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(78, this->_internal_startingprice(), target);
  }

  // double stockRefPrice = 79;
  if (_internal_has_stockrefprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(79, this->_internal_stockrefprice(), target);
  }

  // double delta = 80;
  if (_internal_has_delta()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(80, this->_internal_delta(), target);
  }

  // double stockRangeLower = 81;
  if (_internal_has_stockrangelower()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(81, this->_internal_stockrangelower(), target);
  }

  // double stockRangeUpper = 82;
  if (_internal_has_stockrangeupper()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(82, this->_internal_stockrangeupper(), target);
  }

  // bool notHeld = 83;
  if (_internal_has_notheld()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(83, this->_internal_notheld(), target);
  }

  // map<string, string> orderMiscOptions = 84;
  if (!this->_internal_ordermiscoptions().empty()) {
    typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_pointer
        ConstPtr;
    typedef ConstPtr SortItem;
    typedef ::PROTOBUF_NAMESPACE_ID::internal::CompareByDerefFirst<SortItem> Less;
    struct Utf8Check {
      static void Check(ConstPtr p) {
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
          p->first.data(), static_cast<int>(p->first.length()),
          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
          "protobuf.Order.OrderMiscOptionsEntry.key");
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
          p->second.data(), static_cast<int>(p->second.length()),
          ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
          "protobuf.Order.OrderMiscOptionsEntry.value");
      }
    };

    if (stream->IsSerializationDeterministic() &&
        this->_internal_ordermiscoptions().size() > 1) {
      ::std::unique_ptr<SortItem[]> items(
          new SortItem[this->_internal_ordermiscoptions().size()]);
      typedef ::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::size_type size_type;
      size_type n = 0;
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
          it = this->_internal_ordermiscoptions().begin();
          it != this->_internal_ordermiscoptions().end(); ++it, ++n) {
        items[static_cast<ptrdiff_t>(n)] = SortItem(&*it);
      }
      ::std::sort(&items[0], &items[static_cast<ptrdiff_t>(n)], Less());
      for (size_type i = 0; i < n; i++) {
        target = Order_OrderMiscOptionsEntry_DoNotUse::Funcs::InternalSerialize(84, items[static_cast<ptrdiff_t>(i)]->first, items[static_cast<ptrdiff_t>(i)]->second, target, stream);
        Utf8Check::Check(&(*items[static_cast<ptrdiff_t>(i)]));
      }
    } else {
      for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
          it = this->_internal_ordermiscoptions().begin();
          it != this->_internal_ordermiscoptions().end(); ++it) {
        target = Order_OrderMiscOptionsEntry_DoNotUse::Funcs::InternalSerialize(84, it->first, it->second, target, stream);
        Utf8Check::Check(&(*it));
      }
    }
  }

  // bool solicited = 85;
  if (_internal_has_solicited()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(85, this->_internal_solicited(), target);
  }

  // bool randomizeSize = 86;
  if (_internal_has_randomizesize()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(86, this->_internal_randomizesize(), target);
  }

  // bool randomizePrice = 87;
  if (_internal_has_randomizeprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(87, this->_internal_randomizeprice(), target);
  }

  // int32 referenceContractId = 88;
  if (_internal_has_referencecontractid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(88, this->_internal_referencecontractid(), target);
  }

  // double peggedChangeAmount = 89;
  if (_internal_has_peggedchangeamount()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(89, this->_internal_peggedchangeamount(), target);
  }

  // bool isPeggedChangeAmountDecrease = 90;
  if (_internal_has_ispeggedchangeamountdecrease()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(90, this->_internal_ispeggedchangeamountdecrease(), target);
  }

  // double referenceChangeAmount = 91;
  if (_internal_has_referencechangeamount()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(91, this->_internal_referencechangeamount(), target);
  }

  // string referenceExchangeId = 92;
  if (_internal_has_referenceexchangeid()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_referenceexchangeid().data(), static_cast<int>(this->_internal_referenceexchangeid().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.referenceExchangeId");
    target = stream->WriteStringMaybeAliased(
        92, this->_internal_referenceexchangeid(), target);
  }

  // string adjustedOrderType = 93;
  if (_internal_has_adjustedordertype()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_adjustedordertype().data(), static_cast<int>(this->_internal_adjustedordertype().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.adjustedOrderType");
    target = stream->WriteStringMaybeAliased(
        93, this->_internal_adjustedordertype(), target);
  }

  // double triggerPrice = 94;
  if (_internal_has_triggerprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(94, this->_internal_triggerprice(), target);
  }

  // double adjustedStopPrice = 95;
  if (_internal_has_adjustedstopprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(95, this->_internal_adjustedstopprice(), target);
  }

  // double adjustedStopLimitPrice = 96;
  if (_internal_has_adjustedstoplimitprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(96, this->_internal_adjustedstoplimitprice(), target);
  }

  // double adjustedTrailingAmount = 97;
  if (_internal_has_adjustedtrailingamount()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(97, this->_internal_adjustedtrailingamount(), target);
  }

  // int32 adjustableTrailingUnit = 98;
  if (_internal_has_adjustabletrailingunit()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(98, this->_internal_adjustabletrailingunit(), target);
  }

  // double lmtPriceOffset = 99;
  if (_internal_has_lmtpriceoffset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(99, this->_internal_lmtpriceoffset(), target);
  }

  // repeated .protobuf.OrderCondition conditions = 100;
  for (unsigned int i = 0,
      n = static_cast<unsigned int>(this->_internal_conditions_size()); i < n; i++) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(100, this->_internal_conditions(i), target, stream);
  }

  // bool conditionsCancelOrder = 101;
  if (_internal_has_conditionscancelorder()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(101, this->_internal_conditionscancelorder(), target);
  }

  // bool conditionsIgnoreRth = 102;
  if (_internal_has_conditionsignorerth()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(102, this->_internal_conditionsignorerth(), target);
  }

  // string modelCode = 103;
  if (_internal_has_modelcode()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_modelcode().data(), static_cast<int>(this->_internal_modelcode().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.modelCode");
    target = stream->WriteStringMaybeAliased(
        103, this->_internal_modelcode(), target);
  }

  // string extOperator = 104;
  if (_internal_has_extoperator()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_extoperator().data(), static_cast<int>(this->_internal_extoperator().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.extOperator");
    target = stream->WriteStringMaybeAliased(
        104, this->_internal_extoperator(), target);
  }

  // .protobuf.SoftDollarTier softDollarTier = 105;
  if (_internal_has_softdollartier()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::
      InternalWriteMessage(
        105, _Internal::softdollartier(this), target, stream);
  }

  // double cashQty = 106;
  if (_internal_has_cashqty()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(106, this->_internal_cashqty(), target);
  }

  // string mifid2DecisionMaker = 107;
  if (_internal_has_mifid2decisionmaker()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mifid2decisionmaker().data(), static_cast<int>(this->_internal_mifid2decisionmaker().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.mifid2DecisionMaker");
    target = stream->WriteStringMaybeAliased(
        107, this->_internal_mifid2decisionmaker(), target);
  }

  // string mifid2DecisionAlgo = 108;
  if (_internal_has_mifid2decisionalgo()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mifid2decisionalgo().data(), static_cast<int>(this->_internal_mifid2decisionalgo().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.mifid2DecisionAlgo");
    target = stream->WriteStringMaybeAliased(
        108, this->_internal_mifid2decisionalgo(), target);
  }

  // string mifid2ExecutionTrader = 109;
  if (_internal_has_mifid2executiontrader()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mifid2executiontrader().data(), static_cast<int>(this->_internal_mifid2executiontrader().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.mifid2ExecutionTrader");
    target = stream->WriteStringMaybeAliased(
        109, this->_internal_mifid2executiontrader(), target);
  }

  // string mifid2ExecutionAlgo = 110;
  if (_internal_has_mifid2executionalgo()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_mifid2executionalgo().data(), static_cast<int>(this->_internal_mifid2executionalgo().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.mifid2ExecutionAlgo");
    target = stream->WriteStringMaybeAliased(
        110, this->_internal_mifid2executionalgo(), target);
  }

  // bool dontUseAutoPriceForHedge = 111;
  if (_internal_has_dontuseautopriceforhedge()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(111, this->_internal_dontuseautopriceforhedge(), target);
  }

  // bool isOmsContainer = 112;
  if (_internal_has_isomscontainer()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(112, this->_internal_isomscontainer(), target);
  }

  // bool discretionaryUpToLimitPrice = 113;
  if (_internal_has_discretionaryuptolimitprice()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(113, this->_internal_discretionaryuptolimitprice(), target);
  }

  // string autoCancelDate = 114;
  if (_internal_has_autocanceldate()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_autocanceldate().data(), static_cast<int>(this->_internal_autocanceldate().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.autoCancelDate");
    target = stream->WriteStringMaybeAliased(
        114, this->_internal_autocanceldate(), target);
  }

  // string filledQuantity = 115;
  if (_internal_has_filledquantity()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_filledquantity().data(), static_cast<int>(this->_internal_filledquantity().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.filledQuantity");
    target = stream->WriteStringMaybeAliased(
        115, this->_internal_filledquantity(), target);
  }

  // int32 refFuturesConId = 116;
  if (_internal_has_reffuturesconid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(116, this->_internal_reffuturesconid(), target);
  }

  // bool autoCancelParent = 117;
  if (_internal_has_autocancelparent()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(117, this->_internal_autocancelparent(), target);
  }

  // string shareholder = 118;
  if (_internal_has_shareholder()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_shareholder().data(), static_cast<int>(this->_internal_shareholder().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.shareholder");
    target = stream->WriteStringMaybeAliased(
        118, this->_internal_shareholder(), target);
  }

  // bool imbalanceOnly = 119;
  if (_internal_has_imbalanceonly()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(119, this->_internal_imbalanceonly(), target);
  }

  // bool routeMarketableToBbo = 120;
  if (_internal_has_routemarketabletobbo()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(120, this->_internal_routemarketabletobbo(), target);
  }

  // int64 parentPermId = 121;
  if (_internal_has_parentpermid()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt64ToArray(121, this->_internal_parentpermid(), target);
  }

  // int32 usePriceMgmtAlgo = 122;
  if (_internal_has_usepricemgmtalgo()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(122, this->_internal_usepricemgmtalgo(), target);
  }

  // int32 duration = 123;
  if (_internal_has_duration()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(123, this->_internal_duration(), target);
  }

  // int32 postToAts = 124;
  if (_internal_has_posttoats()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(124, this->_internal_posttoats(), target);
  }

  // string advancedErrorOverride = 125;
  if (_internal_has_advancederroroverride()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_advancederroroverride().data(), static_cast<int>(this->_internal_advancederroroverride().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.advancedErrorOverride");
    target = stream->WriteStringMaybeAliased(
        125, this->_internal_advancederroroverride(), target);
  }

  // string manualOrderTime = 126;
  if (_internal_has_manualordertime()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_manualordertime().data(), static_cast<int>(this->_internal_manualordertime().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.manualOrderTime");
    target = stream->WriteStringMaybeAliased(
        126, this->_internal_manualordertime(), target);
  }

  // int32 minTradeQty = 127;
  if (_internal_has_mintradeqty()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(127, this->_internal_mintradeqty(), target);
  }

  // int32 minCompeteSize = 128;
  if (_internal_has_mincompetesize()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(128, this->_internal_mincompetesize(), target);
  }

  // double competeAgainstBestOffset = 129;
  if (_internal_has_competeagainstbestoffset()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(129, this->_internal_competeagainstbestoffset(), target);
  }

  // double midOffsetAtWhole = 130;
  if (_internal_has_midoffsetatwhole()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(130, this->_internal_midoffsetatwhole(), target);
  }

  // double midOffsetAtHalf = 131;
  if (_internal_has_midoffsetathalf()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteDoubleToArray(131, this->_internal_midoffsetathalf(), target);
  }

  // string customerAccount = 132;
  if (_internal_has_customeraccount()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_customeraccount().data(), static_cast<int>(this->_internal_customeraccount().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.customerAccount");
    target = stream->WriteStringMaybeAliased(
        132, this->_internal_customeraccount(), target);
  }

  // bool professionalCustomer = 133;
  if (_internal_has_professionalcustomer()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(133, this->_internal_professionalcustomer(), target);
  }

  // string bondAccruedInterest = 134;
  if (_internal_has_bondaccruedinterest()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_bondaccruedinterest().data(), static_cast<int>(this->_internal_bondaccruedinterest().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.bondAccruedInterest");
    target = stream->WriteStringMaybeAliased(
        134, this->_internal_bondaccruedinterest(), target);
  }

  // bool includeOvernight = 135;
  if (_internal_has_includeovernight()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteBoolToArray(135, this->_internal_includeovernight(), target);
  }

  // int32 manualOrderIndicator = 136;
  if (_internal_has_manualorderindicator()) {
    target = stream->EnsureSpace(target);
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::WriteInt32ToArray(136, this->_internal_manualorderindicator(), target);
  }

  // string submitter = 137;
  if (_internal_has_submitter()) {
    ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::VerifyUtf8String(
      this->_internal_submitter().data(), static_cast<int>(this->_internal_submitter().length()),
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::SERIALIZE,
      "protobuf.Order.submitter");
    target = stream->WriteStringMaybeAliased(
        137, this->_internal_submitter(), target);
  }

  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    target = ::PROTOBUF_NAMESPACE_ID::internal::WireFormat::InternalSerializeUnknownFieldsToArray(
        _internal_metadata_.unknown_fields<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(::PROTOBUF_NAMESPACE_ID::UnknownFieldSet::default_instance), target, stream);
  }
  // @@protoc_insertion_point(serialize_to_array_end:protobuf.Order)
  return target;
}

size_t Order::ByteSizeLong() const {
// @@protoc_insertion_point(message_byte_size_start:protobuf.Order)
  size_t total_size = 0;

  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  // Prevent compiler warnings about cached_has_bits being unused
  (void) cached_has_bits;

  // map<string, string> algoParams = 62;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_algoparams_size());
  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
      it = this->_internal_algoparams().begin();
      it != this->_internal_algoparams().end(); ++it) {
    total_size += Order_AlgoParamsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // map<string, string> smartComboRoutingParams = 64;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_smartcomboroutingparams_size());
  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
      it = this->_internal_smartcomboroutingparams().begin();
      it != this->_internal_smartcomboroutingparams().end(); ++it) {
    total_size += Order_SmartComboRoutingParamsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // map<string, string> orderMiscOptions = 84;
  total_size += 2 *
      ::PROTOBUF_NAMESPACE_ID::internal::FromIntSize(this->_internal_ordermiscoptions_size());
  for (::PROTOBUF_NAMESPACE_ID::Map< std::string, std::string >::const_iterator
      it = this->_internal_ordermiscoptions().begin();
      it != this->_internal_ordermiscoptions().end(); ++it) {
    total_size += Order_OrderMiscOptionsEntry_DoNotUse::Funcs::ByteSizeLong(it->first, it->second);
  }

  // repeated .protobuf.OrderCondition conditions = 100;
  total_size += 2UL * this->_internal_conditions_size();
  for (const auto& msg : this->conditions_) {
    total_size +=
      ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(msg);
  }

  cached_has_bits = _has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    // string action = 5;
    if (cached_has_bits & 0x00000001u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_action());
    }

    // string totalQuantity = 6;
    if (cached_has_bits & 0x00000002u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_totalquantity());
    }

    // string orderType = 8;
    if (cached_has_bits & 0x00000004u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_ordertype());
    }

    // string tif = 11;
    if (cached_has_bits & 0x00000008u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_tif());
    }

    // string account = 12;
    if (cached_has_bits & 0x00000010u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_account());
    }

    // string settlingFirm = 13;
    if (cached_has_bits & 0x00000020u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_settlingfirm());
    }

    // string clearingAccount = 14;
    if (cached_has_bits & 0x00000040u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_clearingaccount());
    }

    // string clearingIntent = 15;
    if (cached_has_bits & 0x00000080u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_clearingintent());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // string goodAfterTime = 25;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_goodaftertime());
    }

    // string goodTillDate = 26;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_goodtilldate());
    }

    // string ocaGroup = 27;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_ocagroup());
    }

    // string orderRef = 28;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_orderref());
    }

    // string rule80A = 29;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_rule80a());
    }

    // string activeStartTime = 32;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_activestarttime());
    }

    // string activeStopTime = 33;
    if (cached_has_bits & 0x00004000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_activestoptime());
    }

    // string faGroup = 34;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_fagroup());
    }

  }
  if (cached_has_bits & 0x00ff0000u) {
    // string faMethod = 35;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_famethod());
    }

    // string faPercentage = 36;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_fapercentage());
    }

    // string deltaNeutralOrderType = 41;
    if (cached_has_bits & 0x00040000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_deltaneutralordertype());
    }

    // string deltaNeutralOpenClose = 44;
    if (cached_has_bits & 0x00080000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_deltaneutralopenclose());
    }

    // string deltaNeutralDesignatedLocation = 47;
    if (cached_has_bits & 0x00100000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_deltaneutraldesignatedlocation());
    }

    // string scaleTable = 58;
    if (cached_has_bits & 0x00200000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_scaletable());
    }

    // string hedgeType = 59;
    if (cached_has_bits & 0x00400000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_hedgetype());
    }

    // string hedgeParam = 60;
    if (cached_has_bits & 0x00800000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_hedgeparam());
    }

  }
  if (cached_has_bits & 0xff000000u) {
    // string algoStrategy = 61;
    if (cached_has_bits & 0x01000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_algostrategy());
    }

    // string algoId = 63;
    if (cached_has_bits & 0x02000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_algoid());
    }

    // string openClose = 68;
    if (cached_has_bits & 0x04000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_openclose());
    }

    // string designatedLocation = 71;
    if (cached_has_bits & 0x08000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_designatedlocation());
    }

    // string deltaNeutralSettlingFirm = 73;
    if (cached_has_bits & 0x10000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_deltaneutralsettlingfirm());
    }

    // string deltaNeutralClearingAccount = 74;
    if (cached_has_bits & 0x20000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_deltaneutralclearingaccount());
    }

    // string deltaNeutralClearingIntent = 75;
    if (cached_has_bits & 0x40000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_deltaneutralclearingintent());
    }

    // string referenceExchangeId = 92;
    if (cached_has_bits & 0x80000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_referenceexchangeid());
    }

  }
  cached_has_bits = _has_bits_[1];
  if (cached_has_bits & 0x000000ffu) {
    // string adjustedOrderType = 93;
    if (cached_has_bits & 0x00000001u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_adjustedordertype());
    }

    // string modelCode = 103;
    if (cached_has_bits & 0x00000002u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_modelcode());
    }

    // string extOperator = 104;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_extoperator());
    }

    // string mifid2DecisionMaker = 107;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_mifid2decisionmaker());
    }

    // string mifid2DecisionAlgo = 108;
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_mifid2decisionalgo());
    }

    // string mifid2ExecutionTrader = 109;
    if (cached_has_bits & 0x00000020u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_mifid2executiontrader());
    }

    // string mifid2ExecutionAlgo = 110;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_mifid2executionalgo());
    }

    // string autoCancelDate = 114;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_autocanceldate());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // string filledQuantity = 115;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_filledquantity());
    }

    // string shareholder = 118;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_shareholder());
    }

    // string advancedErrorOverride = 125;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_advancederroroverride());
    }

    // string manualOrderTime = 126;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_manualordertime());
    }

    // string customerAccount = 132;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_customeraccount());
    }

    // string bondAccruedInterest = 134;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_bondaccruedinterest());
    }

    // string submitter = 137;
    if (cached_has_bits & 0x00004000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::StringSize(
          this->_internal_submitter());
    }

    // .protobuf.SoftDollarTier softDollarTier = 105;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::MessageSize(
          *softdollartier_);
    }

  }
  if (cached_has_bits & 0x00ff0000u) {
    // int32 clientId = 1;
    if (cached_has_bits & 0x00010000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_clientid());
    }

    // int32 orderId = 2;
    if (cached_has_bits & 0x00020000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_orderid());
    }

    // int64 permId = 3;
    if (cached_has_bits & 0x00040000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
          this->_internal_permid());
    }

    // int32 parentId = 4;
    if (cached_has_bits & 0x00080000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_parentid());
    }

    // int32 displaySize = 7;
    if (cached_has_bits & 0x00100000u) {
      total_size += 1 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_displaysize());
    }

    // double lmtPrice = 9;
    if (cached_has_bits & 0x00200000u) {
      total_size += 1 + 8;
    }

    // double auxPrice = 10;
    if (cached_has_bits & 0x00400000u) {
      total_size += 1 + 8;
    }

    // bool allOrNone = 16;
    if (cached_has_bits & 0x00800000u) {
      total_size += 2 + 1;
    }

  }
  if (cached_has_bits & 0xff000000u) {
    // bool blockOrder = 17;
    if (cached_has_bits & 0x01000000u) {
      total_size += 2 + 1;
    }

    // bool hidden = 18;
    if (cached_has_bits & 0x02000000u) {
      total_size += 2 + 1;
    }

    // bool outsideRth = 19;
    if (cached_has_bits & 0x04000000u) {
      total_size += 2 + 1;
    }

    // int32 minQty = 24;
    if (cached_has_bits & 0x08000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_minqty());
    }

    // double percentOffset = 21;
    if (cached_has_bits & 0x10000000u) {
      total_size += 2 + 8;
    }

    // double trailingPercent = 22;
    if (cached_has_bits & 0x20000000u) {
      total_size += 2 + 8;
    }

    // double trailStopPrice = 23;
    if (cached_has_bits & 0x40000000u) {
      total_size += 2 + 8;
    }

    // int32 ocaType = 30;
    if (cached_has_bits & 0x80000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_ocatype());
    }

  }
  cached_has_bits = _has_bits_[2];
  if (cached_has_bits & 0x000000ffu) {
    // int32 triggerMethod = 31;
    if (cached_has_bits & 0x00000001u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_triggermethod());
    }

    // double volatility = 37;
    if (cached_has_bits & 0x00000002u) {
      total_size += 2 + 8;
    }

    // int32 volatilityType = 38;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_volatilitytype());
    }

    // bool sweepToFill = 20;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 + 1;
    }

    // bool continuousUpdate = 39;
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 + 1;
    }

    // bool deltaNeutralShortSale = 45;
    if (cached_has_bits & 0x00000020u) {
      total_size += 2 + 1;
    }

    // bool scaleAutoReset = 54;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 + 1;
    }

    // int32 referencePriceType = 40;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_referencepricetype());
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // int32 deltaNeutralConId = 43;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_deltaneutralconid());
    }

    // double deltaNeutralAuxPrice = 42;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 + 8;
    }

    // int32 deltaNeutralShortSaleSlot = 46;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_deltaneutralshortsaleslot());
    }

    // int32 scaleInitLevelSize = 48;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_scaleinitlevelsize());
    }

    // double scalePriceIncrement = 50;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 + 8;
    }

    // int32 scaleSubsLevelSize = 49;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_scalesubslevelsize());
    }

    // int32 scalePriceAdjustInterval = 52;
    if (cached_has_bits & 0x00004000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_scalepriceadjustinterval());
    }

    // double scalePriceAdjustValue = 51;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 + 8;
    }

  }
  if (cached_has_bits & 0x00ff0000u) {
    // double scaleProfitOffset = 53;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 + 8;
    }

    // int32 scaleInitPosition = 55;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_scaleinitposition());
    }

    // int32 scaleInitFillQty = 56;
    if (cached_has_bits & 0x00040000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_scaleinitfillqty());
    }

    // bool scaleRandomPercent = 57;
    if (cached_has_bits & 0x00080000u) {
      total_size += 2 + 1;
    }

    // bool whatIf = 65;
    if (cached_has_bits & 0x00100000u) {
      total_size += 2 + 1;
    }

    // bool transmit = 66;
    if (cached_has_bits & 0x00200000u) {
      total_size += 2 + 1;
    }

    // bool overridePercentageConstraints = 67;
    if (cached_has_bits & 0x00400000u) {
      total_size += 2 + 1;
    }

    // int32 origin = 69;
    if (cached_has_bits & 0x00800000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_origin());
    }

  }
  if (cached_has_bits & 0xff000000u) {
    // int32 shortSaleSlot = 70;
    if (cached_has_bits & 0x01000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_shortsaleslot());
    }

    // int32 exemptCode = 72;
    if (cached_has_bits & 0x02000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_exemptcode());
    }

    // double discretionaryAmt = 76;
    if (cached_has_bits & 0x04000000u) {
      total_size += 2 + 8;
    }

    // double startingPrice = 78;
    if (cached_has_bits & 0x08000000u) {
      total_size += 2 + 8;
    }

    // double stockRefPrice = 79;
    if (cached_has_bits & 0x10000000u) {
      total_size += 2 + 8;
    }

    // double delta = 80;
    if (cached_has_bits & 0x20000000u) {
      total_size += 2 + 8;
    }

    // double stockRangeLower = 81;
    if (cached_has_bits & 0x40000000u) {
      total_size += 2 + 8;
    }

    // double stockRangeUpper = 82;
    if (cached_has_bits & 0x80000000u) {
      total_size += 2 + 8;
    }

  }
  cached_has_bits = _has_bits_[3];
  if (cached_has_bits & 0x000000ffu) {
    // bool optOutSmartRouting = 77;
    if (cached_has_bits & 0x00000001u) {
      total_size += 2 + 1;
    }

    // bool notHeld = 83;
    if (cached_has_bits & 0x00000002u) {
      total_size += 2 + 1;
    }

    // bool solicited = 85;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 + 1;
    }

    // bool randomizeSize = 86;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 + 1;
    }

    // int32 referenceContractId = 88;
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_referencecontractid());
    }

    // double peggedChangeAmount = 89;
    if (cached_has_bits & 0x00000020u) {
      total_size += 2 + 8;
    }

    // double referenceChangeAmount = 91;
    if (cached_has_bits & 0x00000040u) {
      total_size += 2 + 8;
    }

    // double triggerPrice = 94;
    if (cached_has_bits & 0x00000080u) {
      total_size += 2 + 8;
    }

  }
  if (cached_has_bits & 0x0000ff00u) {
    // double adjustedStopPrice = 95;
    if (cached_has_bits & 0x00000100u) {
      total_size += 2 + 8;
    }

    // bool randomizePrice = 87;
    if (cached_has_bits & 0x00000200u) {
      total_size += 2 + 1;
    }

    // bool isPeggedChangeAmountDecrease = 90;
    if (cached_has_bits & 0x00000400u) {
      total_size += 2 + 1;
    }

    // bool conditionsCancelOrder = 101;
    if (cached_has_bits & 0x00000800u) {
      total_size += 2 + 1;
    }

    // bool conditionsIgnoreRth = 102;
    if (cached_has_bits & 0x00001000u) {
      total_size += 2 + 1;
    }

    // int32 adjustableTrailingUnit = 98;
    if (cached_has_bits & 0x00002000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_adjustabletrailingunit());
    }

    // double adjustedStopLimitPrice = 96;
    if (cached_has_bits & 0x00004000u) {
      total_size += 2 + 8;
    }

    // double adjustedTrailingAmount = 97;
    if (cached_has_bits & 0x00008000u) {
      total_size += 2 + 8;
    }

  }
  if (cached_has_bits & 0x00ff0000u) {
    // double lmtPriceOffset = 99;
    if (cached_has_bits & 0x00010000u) {
      total_size += 2 + 8;
    }

    // double cashQty = 106;
    if (cached_has_bits & 0x00020000u) {
      total_size += 2 + 8;
    }

    // bool dontUseAutoPriceForHedge = 111;
    if (cached_has_bits & 0x00040000u) {
      total_size += 2 + 1;
    }

    // bool isOmsContainer = 112;
    if (cached_has_bits & 0x00080000u) {
      total_size += 2 + 1;
    }

    // bool discretionaryUpToLimitPrice = 113;
    if (cached_has_bits & 0x00100000u) {
      total_size += 2 + 1;
    }

    // bool autoCancelParent = 117;
    if (cached_has_bits & 0x00200000u) {
      total_size += 2 + 1;
    }

    // int32 refFuturesConId = 116;
    if (cached_has_bits & 0x00400000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_reffuturesconid());
    }

    // int64 parentPermId = 121;
    if (cached_has_bits & 0x00800000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int64Size(
          this->_internal_parentpermid());
    }

  }
  if (cached_has_bits & 0xff000000u) {
    // int32 usePriceMgmtAlgo = 122;
    if (cached_has_bits & 0x01000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_usepricemgmtalgo());
    }

    // int32 duration = 123;
    if (cached_has_bits & 0x02000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_duration());
    }

    // int32 postToAts = 124;
    if (cached_has_bits & 0x04000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_posttoats());
    }

    // bool imbalanceOnly = 119;
    if (cached_has_bits & 0x08000000u) {
      total_size += 2 + 1;
    }

    // bool routeMarketableToBbo = 120;
    if (cached_has_bits & 0x10000000u) {
      total_size += 2 + 1;
    }

    // bool professionalCustomer = 133;
    if (cached_has_bits & 0x20000000u) {
      total_size += 2 + 1;
    }

    // bool includeOvernight = 135;
    if (cached_has_bits & 0x40000000u) {
      total_size += 2 + 1;
    }

    // int32 minTradeQty = 127;
    if (cached_has_bits & 0x80000000u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_mintradeqty());
    }

  }
  cached_has_bits = _has_bits_[4];
  if (cached_has_bits & 0x0000001fu) {
    // int32 minCompeteSize = 128;
    if (cached_has_bits & 0x00000001u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_mincompetesize());
    }

    // double competeAgainstBestOffset = 129;
    if (cached_has_bits & 0x00000002u) {
      total_size += 2 + 8;
    }

    // double midOffsetAtWhole = 130;
    if (cached_has_bits & 0x00000004u) {
      total_size += 2 + 8;
    }

    // double midOffsetAtHalf = 131;
    if (cached_has_bits & 0x00000008u) {
      total_size += 2 + 8;
    }

    // int32 manualOrderIndicator = 136;
    if (cached_has_bits & 0x00000010u) {
      total_size += 2 +
        ::PROTOBUF_NAMESPACE_ID::internal::WireFormatLite::Int32Size(
          this->_internal_manualorderindicator());
    }

  }
  if (PROTOBUF_PREDICT_FALSE(_internal_metadata_.have_unknown_fields())) {
    return ::PROTOBUF_NAMESPACE_ID::internal::ComputeUnknownFieldsSize(
        _internal_metadata_, total_size, &_cached_size_);
  }
  int cached_size = ::PROTOBUF_NAMESPACE_ID::internal::ToCachedSize(total_size);
  SetCachedSize(cached_size);
  return total_size;
}

void Order::MergeFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_merge_from_start:protobuf.Order)
  GOOGLE_DCHECK_NE(&from, this);
  const Order* source =
      ::PROTOBUF_NAMESPACE_ID::DynamicCastToGenerated<Order>(
          &from);
  if (source == nullptr) {
  // @@protoc_insertion_point(generalized_merge_from_cast_fail:protobuf.Order)
    ::PROTOBUF_NAMESPACE_ID::internal::ReflectionOps::Merge(from, this);
  } else {
  // @@protoc_insertion_point(generalized_merge_from_cast_success:protobuf.Order)
    MergeFrom(*source);
  }
}

void Order::MergeFrom(const Order& from) {
// @@protoc_insertion_point(class_specific_merge_from_start:protobuf.Order)
  GOOGLE_DCHECK_NE(&from, this);
  _internal_metadata_.MergeFrom<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(from._internal_metadata_);
  ::PROTOBUF_NAMESPACE_ID::uint32 cached_has_bits = 0;
  (void) cached_has_bits;

  algoparams_.MergeFrom(from.algoparams_);
  smartcomboroutingparams_.MergeFrom(from.smartcomboroutingparams_);
  ordermiscoptions_.MergeFrom(from.ordermiscoptions_);
  conditions_.MergeFrom(from.conditions_);
  cached_has_bits = from._has_bits_[0];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_action(from._internal_action());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_totalquantity(from._internal_totalquantity());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_ordertype(from._internal_ordertype());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_tif(from._internal_tif());
    }
    if (cached_has_bits & 0x00000010u) {
      _internal_set_account(from._internal_account());
    }
    if (cached_has_bits & 0x00000020u) {
      _internal_set_settlingfirm(from._internal_settlingfirm());
    }
    if (cached_has_bits & 0x00000040u) {
      _internal_set_clearingaccount(from._internal_clearingaccount());
    }
    if (cached_has_bits & 0x00000080u) {
      _internal_set_clearingintent(from._internal_clearingintent());
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      _internal_set_goodaftertime(from._internal_goodaftertime());
    }
    if (cached_has_bits & 0x00000200u) {
      _internal_set_goodtilldate(from._internal_goodtilldate());
    }
    if (cached_has_bits & 0x00000400u) {
      _internal_set_ocagroup(from._internal_ocagroup());
    }
    if (cached_has_bits & 0x00000800u) {
      _internal_set_orderref(from._internal_orderref());
    }
    if (cached_has_bits & 0x00001000u) {
      _internal_set_rule80a(from._internal_rule80a());
    }
    if (cached_has_bits & 0x00002000u) {
      _internal_set_activestarttime(from._internal_activestarttime());
    }
    if (cached_has_bits & 0x00004000u) {
      _internal_set_activestoptime(from._internal_activestoptime());
    }
    if (cached_has_bits & 0x00008000u) {
      _internal_set_fagroup(from._internal_fagroup());
    }
  }
  if (cached_has_bits & 0x00ff0000u) {
    if (cached_has_bits & 0x00010000u) {
      _internal_set_famethod(from._internal_famethod());
    }
    if (cached_has_bits & 0x00020000u) {
      _internal_set_fapercentage(from._internal_fapercentage());
    }
    if (cached_has_bits & 0x00040000u) {
      _internal_set_deltaneutralordertype(from._internal_deltaneutralordertype());
    }
    if (cached_has_bits & 0x00080000u) {
      _internal_set_deltaneutralopenclose(from._internal_deltaneutralopenclose());
    }
    if (cached_has_bits & 0x00100000u) {
      _internal_set_deltaneutraldesignatedlocation(from._internal_deltaneutraldesignatedlocation());
    }
    if (cached_has_bits & 0x00200000u) {
      _internal_set_scaletable(from._internal_scaletable());
    }
    if (cached_has_bits & 0x00400000u) {
      _internal_set_hedgetype(from._internal_hedgetype());
    }
    if (cached_has_bits & 0x00800000u) {
      _internal_set_hedgeparam(from._internal_hedgeparam());
    }
  }
  if (cached_has_bits & 0xff000000u) {
    if (cached_has_bits & 0x01000000u) {
      _internal_set_algostrategy(from._internal_algostrategy());
    }
    if (cached_has_bits & 0x02000000u) {
      _internal_set_algoid(from._internal_algoid());
    }
    if (cached_has_bits & 0x04000000u) {
      _internal_set_openclose(from._internal_openclose());
    }
    if (cached_has_bits & 0x08000000u) {
      _internal_set_designatedlocation(from._internal_designatedlocation());
    }
    if (cached_has_bits & 0x10000000u) {
      _internal_set_deltaneutralsettlingfirm(from._internal_deltaneutralsettlingfirm());
    }
    if (cached_has_bits & 0x20000000u) {
      _internal_set_deltaneutralclearingaccount(from._internal_deltaneutralclearingaccount());
    }
    if (cached_has_bits & 0x40000000u) {
      _internal_set_deltaneutralclearingintent(from._internal_deltaneutralclearingintent());
    }
    if (cached_has_bits & 0x80000000u) {
      _internal_set_referenceexchangeid(from._internal_referenceexchangeid());
    }
  }
  cached_has_bits = from._has_bits_[1];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      _internal_set_adjustedordertype(from._internal_adjustedordertype());
    }
    if (cached_has_bits & 0x00000002u) {
      _internal_set_modelcode(from._internal_modelcode());
    }
    if (cached_has_bits & 0x00000004u) {
      _internal_set_extoperator(from._internal_extoperator());
    }
    if (cached_has_bits & 0x00000008u) {
      _internal_set_mifid2decisionmaker(from._internal_mifid2decisionmaker());
    }
    if (cached_has_bits & 0x00000010u) {
      _internal_set_mifid2decisionalgo(from._internal_mifid2decisionalgo());
    }
    if (cached_has_bits & 0x00000020u) {
      _internal_set_mifid2executiontrader(from._internal_mifid2executiontrader());
    }
    if (cached_has_bits & 0x00000040u) {
      _internal_set_mifid2executionalgo(from._internal_mifid2executionalgo());
    }
    if (cached_has_bits & 0x00000080u) {
      _internal_set_autocanceldate(from._internal_autocanceldate());
    }
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      _internal_set_filledquantity(from._internal_filledquantity());
    }
    if (cached_has_bits & 0x00000200u) {
      _internal_set_shareholder(from._internal_shareholder());
    }
    if (cached_has_bits & 0x00000400u) {
      _internal_set_advancederroroverride(from._internal_advancederroroverride());
    }
    if (cached_has_bits & 0x00000800u) {
      _internal_set_manualordertime(from._internal_manualordertime());
    }
    if (cached_has_bits & 0x00001000u) {
      _internal_set_customeraccount(from._internal_customeraccount());
    }
    if (cached_has_bits & 0x00002000u) {
      _internal_set_bondaccruedinterest(from._internal_bondaccruedinterest());
    }
    if (cached_has_bits & 0x00004000u) {
      _internal_set_submitter(from._internal_submitter());
    }
    if (cached_has_bits & 0x00008000u) {
      _internal_mutable_softdollartier()->::protobuf::SoftDollarTier::MergeFrom(from._internal_softdollartier());
    }
  }
  if (cached_has_bits & 0x00ff0000u) {
    if (cached_has_bits & 0x00010000u) {
      clientid_ = from.clientid_;
    }
    if (cached_has_bits & 0x00020000u) {
      orderid_ = from.orderid_;
    }
    if (cached_has_bits & 0x00040000u) {
      permid_ = from.permid_;
    }
    if (cached_has_bits & 0x00080000u) {
      parentid_ = from.parentid_;
    }
    if (cached_has_bits & 0x00100000u) {
      displaysize_ = from.displaysize_;
    }
    if (cached_has_bits & 0x00200000u) {
      lmtprice_ = from.lmtprice_;
    }
    if (cached_has_bits & 0x00400000u) {
      auxprice_ = from.auxprice_;
    }
    if (cached_has_bits & 0x00800000u) {
      allornone_ = from.allornone_;
    }
    _has_bits_[1] |= cached_has_bits;
  }
  if (cached_has_bits & 0xff000000u) {
    if (cached_has_bits & 0x01000000u) {
      blockorder_ = from.blockorder_;
    }
    if (cached_has_bits & 0x02000000u) {
      hidden_ = from.hidden_;
    }
    if (cached_has_bits & 0x04000000u) {
      outsiderth_ = from.outsiderth_;
    }
    if (cached_has_bits & 0x08000000u) {
      minqty_ = from.minqty_;
    }
    if (cached_has_bits & 0x10000000u) {
      percentoffset_ = from.percentoffset_;
    }
    if (cached_has_bits & 0x20000000u) {
      trailingpercent_ = from.trailingpercent_;
    }
    if (cached_has_bits & 0x40000000u) {
      trailstopprice_ = from.trailstopprice_;
    }
    if (cached_has_bits & 0x80000000u) {
      ocatype_ = from.ocatype_;
    }
    _has_bits_[1] |= cached_has_bits;
  }
  cached_has_bits = from._has_bits_[2];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      triggermethod_ = from.triggermethod_;
    }
    if (cached_has_bits & 0x00000002u) {
      volatility_ = from.volatility_;
    }
    if (cached_has_bits & 0x00000004u) {
      volatilitytype_ = from.volatilitytype_;
    }
    if (cached_has_bits & 0x00000008u) {
      sweeptofill_ = from.sweeptofill_;
    }
    if (cached_has_bits & 0x00000010u) {
      continuousupdate_ = from.continuousupdate_;
    }
    if (cached_has_bits & 0x00000020u) {
      deltaneutralshortsale_ = from.deltaneutralshortsale_;
    }
    if (cached_has_bits & 0x00000040u) {
      scaleautoreset_ = from.scaleautoreset_;
    }
    if (cached_has_bits & 0x00000080u) {
      referencepricetype_ = from.referencepricetype_;
    }
    _has_bits_[2] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      deltaneutralconid_ = from.deltaneutralconid_;
    }
    if (cached_has_bits & 0x00000200u) {
      deltaneutralauxprice_ = from.deltaneutralauxprice_;
    }
    if (cached_has_bits & 0x00000400u) {
      deltaneutralshortsaleslot_ = from.deltaneutralshortsaleslot_;
    }
    if (cached_has_bits & 0x00000800u) {
      scaleinitlevelsize_ = from.scaleinitlevelsize_;
    }
    if (cached_has_bits & 0x00001000u) {
      scalepriceincrement_ = from.scalepriceincrement_;
    }
    if (cached_has_bits & 0x00002000u) {
      scalesubslevelsize_ = from.scalesubslevelsize_;
    }
    if (cached_has_bits & 0x00004000u) {
      scalepriceadjustinterval_ = from.scalepriceadjustinterval_;
    }
    if (cached_has_bits & 0x00008000u) {
      scalepriceadjustvalue_ = from.scalepriceadjustvalue_;
    }
    _has_bits_[2] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00ff0000u) {
    if (cached_has_bits & 0x00010000u) {
      scaleprofitoffset_ = from.scaleprofitoffset_;
    }
    if (cached_has_bits & 0x00020000u) {
      scaleinitposition_ = from.scaleinitposition_;
    }
    if (cached_has_bits & 0x00040000u) {
      scaleinitfillqty_ = from.scaleinitfillqty_;
    }
    if (cached_has_bits & 0x00080000u) {
      scalerandompercent_ = from.scalerandompercent_;
    }
    if (cached_has_bits & 0x00100000u) {
      whatif_ = from.whatif_;
    }
    if (cached_has_bits & 0x00200000u) {
      transmit_ = from.transmit_;
    }
    if (cached_has_bits & 0x00400000u) {
      overridepercentageconstraints_ = from.overridepercentageconstraints_;
    }
    if (cached_has_bits & 0x00800000u) {
      origin_ = from.origin_;
    }
    _has_bits_[2] |= cached_has_bits;
  }
  if (cached_has_bits & 0xff000000u) {
    if (cached_has_bits & 0x01000000u) {
      shortsaleslot_ = from.shortsaleslot_;
    }
    if (cached_has_bits & 0x02000000u) {
      exemptcode_ = from.exemptcode_;
    }
    if (cached_has_bits & 0x04000000u) {
      discretionaryamt_ = from.discretionaryamt_;
    }
    if (cached_has_bits & 0x08000000u) {
      startingprice_ = from.startingprice_;
    }
    if (cached_has_bits & 0x10000000u) {
      stockrefprice_ = from.stockrefprice_;
    }
    if (cached_has_bits & 0x20000000u) {
      delta_ = from.delta_;
    }
    if (cached_has_bits & 0x40000000u) {
      stockrangelower_ = from.stockrangelower_;
    }
    if (cached_has_bits & 0x80000000u) {
      stockrangeupper_ = from.stockrangeupper_;
    }
    _has_bits_[2] |= cached_has_bits;
  }
  cached_has_bits = from._has_bits_[3];
  if (cached_has_bits & 0x000000ffu) {
    if (cached_has_bits & 0x00000001u) {
      optoutsmartrouting_ = from.optoutsmartrouting_;
    }
    if (cached_has_bits & 0x00000002u) {
      notheld_ = from.notheld_;
    }
    if (cached_has_bits & 0x00000004u) {
      solicited_ = from.solicited_;
    }
    if (cached_has_bits & 0x00000008u) {
      randomizesize_ = from.randomizesize_;
    }
    if (cached_has_bits & 0x00000010u) {
      referencecontractid_ = from.referencecontractid_;
    }
    if (cached_has_bits & 0x00000020u) {
      peggedchangeamount_ = from.peggedchangeamount_;
    }
    if (cached_has_bits & 0x00000040u) {
      referencechangeamount_ = from.referencechangeamount_;
    }
    if (cached_has_bits & 0x00000080u) {
      triggerprice_ = from.triggerprice_;
    }
    _has_bits_[3] |= cached_has_bits;
  }
  if (cached_has_bits & 0x0000ff00u) {
    if (cached_has_bits & 0x00000100u) {
      adjustedstopprice_ = from.adjustedstopprice_;
    }
    if (cached_has_bits & 0x00000200u) {
      randomizeprice_ = from.randomizeprice_;
    }
    if (cached_has_bits & 0x00000400u) {
      ispeggedchangeamountdecrease_ = from.ispeggedchangeamountdecrease_;
    }
    if (cached_has_bits & 0x00000800u) {
      conditionscancelorder_ = from.conditionscancelorder_;
    }
    if (cached_has_bits & 0x00001000u) {
      conditionsignorerth_ = from.conditionsignorerth_;
    }
    if (cached_has_bits & 0x00002000u) {
      adjustabletrailingunit_ = from.adjustabletrailingunit_;
    }
    if (cached_has_bits & 0x00004000u) {
      adjustedstoplimitprice_ = from.adjustedstoplimitprice_;
    }
    if (cached_has_bits & 0x00008000u) {
      adjustedtrailingamount_ = from.adjustedtrailingamount_;
    }
    _has_bits_[3] |= cached_has_bits;
  }
  if (cached_has_bits & 0x00ff0000u) {
    if (cached_has_bits & 0x00010000u) {
      lmtpriceoffset_ = from.lmtpriceoffset_;
    }
    if (cached_has_bits & 0x00020000u) {
      cashqty_ = from.cashqty_;
    }
    if (cached_has_bits & 0x00040000u) {
      dontuseautopriceforhedge_ = from.dontuseautopriceforhedge_;
    }
    if (cached_has_bits & 0x00080000u) {
      isomscontainer_ = from.isomscontainer_;
    }
    if (cached_has_bits & 0x00100000u) {
      discretionaryuptolimitprice_ = from.discretionaryuptolimitprice_;
    }
    if (cached_has_bits & 0x00200000u) {
      autocancelparent_ = from.autocancelparent_;
    }
    if (cached_has_bits & 0x00400000u) {
      reffuturesconid_ = from.reffuturesconid_;
    }
    if (cached_has_bits & 0x00800000u) {
      parentpermid_ = from.parentpermid_;
    }
    _has_bits_[3] |= cached_has_bits;
  }
  if (cached_has_bits & 0xff000000u) {
    if (cached_has_bits & 0x01000000u) {
      usepricemgmtalgo_ = from.usepricemgmtalgo_;
    }
    if (cached_has_bits & 0x02000000u) {
      duration_ = from.duration_;
    }
    if (cached_has_bits & 0x04000000u) {
      posttoats_ = from.posttoats_;
    }
    if (cached_has_bits & 0x08000000u) {
      imbalanceonly_ = from.imbalanceonly_;
    }
    if (cached_has_bits & 0x10000000u) {
      routemarketabletobbo_ = from.routemarketabletobbo_;
    }
    if (cached_has_bits & 0x20000000u) {
      professionalcustomer_ = from.professionalcustomer_;
    }
    if (cached_has_bits & 0x40000000u) {
      includeovernight_ = from.includeovernight_;
    }
    if (cached_has_bits & 0x80000000u) {
      mintradeqty_ = from.mintradeqty_;
    }
    _has_bits_[3] |= cached_has_bits;
  }
  cached_has_bits = from._has_bits_[4];
  if (cached_has_bits & 0x0000001fu) {
    if (cached_has_bits & 0x00000001u) {
      mincompetesize_ = from.mincompetesize_;
    }
    if (cached_has_bits & 0x00000002u) {
      competeagainstbestoffset_ = from.competeagainstbestoffset_;
    }
    if (cached_has_bits & 0x00000004u) {
      midoffsetatwhole_ = from.midoffsetatwhole_;
    }
    if (cached_has_bits & 0x00000008u) {
      midoffsetathalf_ = from.midoffsetathalf_;
    }
    if (cached_has_bits & 0x00000010u) {
      manualorderindicator_ = from.manualorderindicator_;
    }
    _has_bits_[4] |= cached_has_bits;
  }
}

void Order::CopyFrom(const ::PROTOBUF_NAMESPACE_ID::Message& from) {
// @@protoc_insertion_point(generalized_copy_from_start:protobuf.Order)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

void Order::CopyFrom(const Order& from) {
// @@protoc_insertion_point(class_specific_copy_from_start:protobuf.Order)
  if (&from == this) return;
  Clear();
  MergeFrom(from);
}

bool Order::IsInitialized() const {
  return true;
}

void Order::InternalSwap(Order* other) {
  using std::swap;
  _internal_metadata_.Swap<::PROTOBUF_NAMESPACE_ID::UnknownFieldSet>(&other->_internal_metadata_);
  swap(_has_bits_[0], other->_has_bits_[0]);
  swap(_has_bits_[1], other->_has_bits_[1]);
  swap(_has_bits_[2], other->_has_bits_[2]);
  swap(_has_bits_[3], other->_has_bits_[3]);
  swap(_has_bits_[4], other->_has_bits_[4]);
  algoparams_.Swap(&other->algoparams_);
  smartcomboroutingparams_.Swap(&other->smartcomboroutingparams_);
  ordermiscoptions_.Swap(&other->ordermiscoptions_);
  conditions_.InternalSwap(&other->conditions_);
  action_.Swap(&other->action_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  totalquantity_.Swap(&other->totalquantity_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ordertype_.Swap(&other->ordertype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  tif_.Swap(&other->tif_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  account_.Swap(&other->account_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  settlingfirm_.Swap(&other->settlingfirm_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  clearingaccount_.Swap(&other->clearingaccount_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  clearingintent_.Swap(&other->clearingintent_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  goodaftertime_.Swap(&other->goodaftertime_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  goodtilldate_.Swap(&other->goodtilldate_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ocagroup_.Swap(&other->ocagroup_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  orderref_.Swap(&other->orderref_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  rule80a_.Swap(&other->rule80a_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  activestarttime_.Swap(&other->activestarttime_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  activestoptime_.Swap(&other->activestoptime_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  fagroup_.Swap(&other->fagroup_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  famethod_.Swap(&other->famethod_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  fapercentage_.Swap(&other->fapercentage_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  deltaneutralordertype_.Swap(&other->deltaneutralordertype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  deltaneutralopenclose_.Swap(&other->deltaneutralopenclose_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  deltaneutraldesignatedlocation_.Swap(&other->deltaneutraldesignatedlocation_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  scaletable_.Swap(&other->scaletable_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  hedgetype_.Swap(&other->hedgetype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  hedgeparam_.Swap(&other->hedgeparam_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  algostrategy_.Swap(&other->algostrategy_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  algoid_.Swap(&other->algoid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  openclose_.Swap(&other->openclose_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  designatedlocation_.Swap(&other->designatedlocation_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  deltaneutralsettlingfirm_.Swap(&other->deltaneutralsettlingfirm_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  deltaneutralclearingaccount_.Swap(&other->deltaneutralclearingaccount_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  deltaneutralclearingintent_.Swap(&other->deltaneutralclearingintent_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  referenceexchangeid_.Swap(&other->referenceexchangeid_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  adjustedordertype_.Swap(&other->adjustedordertype_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  modelcode_.Swap(&other->modelcode_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  extoperator_.Swap(&other->extoperator_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  mifid2decisionmaker_.Swap(&other->mifid2decisionmaker_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  mifid2decisionalgo_.Swap(&other->mifid2decisionalgo_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  mifid2executiontrader_.Swap(&other->mifid2executiontrader_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  mifid2executionalgo_.Swap(&other->mifid2executionalgo_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  autocanceldate_.Swap(&other->autocanceldate_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  filledquantity_.Swap(&other->filledquantity_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  shareholder_.Swap(&other->shareholder_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  advancederroroverride_.Swap(&other->advancederroroverride_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  manualordertime_.Swap(&other->manualordertime_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  customeraccount_.Swap(&other->customeraccount_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  bondaccruedinterest_.Swap(&other->bondaccruedinterest_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  submitter_.Swap(&other->submitter_, &::PROTOBUF_NAMESPACE_ID::internal::GetEmptyStringAlreadyInited(), GetArena());
  ::PROTOBUF_NAMESPACE_ID::internal::memswap<
      PROTOBUF_FIELD_OFFSET(Order, manualorderindicator_)
      + sizeof(Order::manualorderindicator_)
      - PROTOBUF_FIELD_OFFSET(Order, softdollartier_)>(
          reinterpret_cast<char*>(&softdollartier_),
          reinterpret_cast<char*>(&other->softdollartier_));
}

::PROTOBUF_NAMESPACE_ID::Metadata Order::GetMetadata() const {
  return GetMetadataStatic();
}


// @@protoc_insertion_point(namespace_scope)
}  // namespace protobuf
PROTOBUF_NAMESPACE_OPEN
template<> PROTOBUF_NOINLINE ::protobuf::Order_AlgoParamsEntry_DoNotUse* Arena::CreateMaybeMessage< ::protobuf::Order_AlgoParamsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::protobuf::Order_AlgoParamsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse* Arena::CreateMaybeMessage< ::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::protobuf::Order_SmartComboRoutingParamsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::protobuf::Order_OrderMiscOptionsEntry_DoNotUse* Arena::CreateMaybeMessage< ::protobuf::Order_OrderMiscOptionsEntry_DoNotUse >(Arena* arena) {
  return Arena::CreateMessageInternal< ::protobuf::Order_OrderMiscOptionsEntry_DoNotUse >(arena);
}
template<> PROTOBUF_NOINLINE ::protobuf::Order* Arena::CreateMaybeMessage< ::protobuf::Order >(Arena* arena) {
  return Arena::CreateMessageInternal< ::protobuf::Order >(arena);
}
PROTOBUF_NAMESPACE_CLOSE

// @@protoc_insertion_point(global_scope)
#include <google/protobuf/port_undef.inc>
